Recorded merge of revisions 69195 via svnmerge from
svn+ssh://pythondev/python/trunk

........
  r69195 | guilherme.polo | 2009-02-01 22:38:54 -0200 (Sun, 01 Feb 2009) | 3 lines

  Use a single Tcl interpreter through all these tests, this may help some
  failing buildbots.
........
diff --git a/Lib/tkinter/test/support.py b/Lib/tkinter/test/support.py
index 67264df..97212fb 100644
--- a/Lib/tkinter/test/support.py
+++ b/Lib/tkinter/test/support.py
@@ -15,6 +15,14 @@
 
     return root
 
+def root_deiconify():
+    root = get_tk_root()
+    root.deiconify()
+
+def root_withdraw():
+    root = get_tk_root()
+    root.withdraw()
+
 
 def simulate_mouse_click(widget, x, y):
     """Generate proper events to click at the x, y position (tries to act
diff --git a/Lib/tkinter/test/test_ttk/test_extensions.py b/Lib/tkinter/test/test_ttk/test_extensions.py
index a127545..a14ccca 100644
--- a/Lib/tkinter/test/test_ttk/test_extensions.py
+++ b/Lib/tkinter/test/test_ttk/test_extensions.py
@@ -10,6 +10,13 @@
 
 class LabeledScaleTest(unittest.TestCase):
 
+    def setUp(self):
+        support.root_deiconify()
+
+    def tearDown(self):
+        support.root_withdraw()
+
+
     def test_widget_destroy(self):
         # automatically created variable
         x = ttk.LabeledScale()
@@ -175,12 +182,12 @@
 class OptionMenuTest(unittest.TestCase):
 
     def setUp(self):
-        self.root = support.get_tk_root()
-        self.textvar = tkinter.StringVar(self.root)
+        support.root_deiconify()
+        self.textvar = tkinter.StringVar()
 
     def tearDown(self):
         del self.textvar
-        self.root.destroy()
+        support.root_withdraw()
 
 
     def test_widget_destroy(self):
diff --git a/Lib/tkinter/test/test_ttk/test_style.py b/Lib/tkinter/test/test_ttk/test_style.py
index 823b38d..cd9d740 100644
--- a/Lib/tkinter/test/test_ttk/test_style.py
+++ b/Lib/tkinter/test/test_ttk/test_style.py
@@ -10,15 +10,7 @@
 class StyleTest(unittest.TestCase):
 
     def setUp(self):
-        self.root = support.get_tk_root()
-        self.style = ttk.Style(self.root)
-
-    def tearDown(self):
-        # As tests have shown, these tests are likely to deliver
-        # <<ThemeChanged>> events after the root is destroyed, so
-        # lets let them happen now.
-        self.root.update_idletasks()
-        self.root.destroy()
+        self.style = ttk.Style()
 
 
     def test_configure(self):
diff --git a/Lib/tkinter/test/test_ttk/test_widgets.py b/Lib/tkinter/test/test_ttk/test_widgets.py
index 48cf614..af45ca0 100644
--- a/Lib/tkinter/test/test_ttk/test_widgets.py
+++ b/Lib/tkinter/test/test_ttk/test_widgets.py
@@ -12,12 +12,14 @@
     """Tests methods available in every ttk widget."""
 
     def setUp(self):
+        support.root_deiconify()
         self.widget = ttk.Button()
         self.widget.pack()
         self.widget.wait_visibility()
 
     def tearDown(self):
         self.widget.destroy()
+        support.root_withdraw()
 
 
     def test_identify(self):
@@ -107,10 +109,12 @@
 class ComboboxTest(unittest.TestCase):
 
     def setUp(self):
+        support.root_deiconify()
         self.combo = ttk.Combobox()
 
     def tearDown(self):
         self.combo.destroy()
+        support.root_withdraw()
 
     def _show_drop_down_listbox(self):
         width = self.combo.winfo_width()
@@ -195,10 +199,12 @@
 class EntryTest(unittest.TestCase):
 
     def setUp(self):
+        support.root_deiconify()
         self.entry = ttk.Entry()
 
     def tearDown(self):
         self.entry.destroy()
+        support.root_withdraw()
 
 
     def test_bbox(self):
@@ -297,10 +303,12 @@
 class PanedwindowTest(unittest.TestCase):
 
     def setUp(self):
+        support.root_deiconify()
         self.paned = ttk.Panedwindow()
 
     def tearDown(self):
         self.paned.destroy()
+        support.root_withdraw()
 
 
     def test_add(self):
@@ -445,12 +453,14 @@
 class ScaleTest(unittest.TestCase):
 
     def setUp(self):
+        support.root_deiconify()
         self.scale = ttk.Scale()
         self.scale.pack()
         self.scale.update()
 
     def tearDown(self):
         self.scale.destroy()
+        support.root_withdraw()
 
 
     def test_custom_event(self):
@@ -519,6 +529,7 @@
 class NotebookTest(unittest.TestCase):
 
     def setUp(self):
+        support.root_deiconify()
         self.nb = ttk.Notebook()
         self.child1 = ttk.Label()
         self.child2 = ttk.Label()
@@ -529,6 +540,7 @@
         self.child1.destroy()
         self.child2.destroy()
         self.nb.destroy()
+        support.root_withdraw()
 
 
     def test_tab_identifiers(self):
@@ -708,13 +720,12 @@
 class TreeviewTest(unittest.TestCase):
 
     def setUp(self):
-        self.root = support.get_tk_root()
-        self.tv = ttk.Treeview(self.root)
+        support.root_deiconify()
+        self.tv = ttk.Treeview()
 
     def tearDown(self):
         self.tv.destroy()
-        self.root.update_idletasks()
-        self.root.destroy()
+        support.root_withdraw()
 
 
     def test_bbox(self):