diff options
author | Terry Jan Reedy <tjreedy@udel.edu> | 2014-02-27 23:47:23 (GMT) |
---|---|---|
committer | Terry Jan Reedy <tjreedy@udel.edu> | 2014-02-27 23:47:23 (GMT) |
commit | 44fad467b94718beb9fae6c4af4f5c87330b2daf (patch) | |
tree | 7a571c881c9b8c6d8df8e664cbab814355a5e39d | |
parent | 68b8a94c9107d086e4094e3395a335a65f184591 (diff) | |
download | cpython-44fad467b94718beb9fae6c4af4f5c87330b2daf.zip cpython-44fad467b94718beb9fae6c4af4f5c87330b2daf.tar.gz cpython-44fad467b94718beb9fae6c4af4f5c87330b2daf.tar.bz2 |
Issue #20567: Delete class attribute gui widgets in idle tests.
Code patch by Serhiy Storchaka
-rw-r--r-- | Lib/idlelib/idle_test/README.txt | 8 | ||||
-rw-r--r-- | Lib/idlelib/idle_test/test_formatparagraph.py | 3 | ||||
-rw-r--r-- | Lib/idlelib/idle_test/test_idlehistory.py | 1 | ||||
-rw-r--r-- | Lib/idlelib/idle_test/test_searchengine.py | 3 | ||||
-rw-r--r-- | Lib/idlelib/idle_test/test_text.py | 1 | ||||
-rw-r--r-- | Lib/test/test_idle.py | 1 |
6 files changed, 14 insertions, 3 deletions
diff --git a/Lib/idlelib/idle_test/README.txt b/Lib/idlelib/idle_test/README.txt index d0dde25..6b92483 100644 --- a/Lib/idlelib/idle_test/README.txt +++ b/Lib/idlelib/idle_test/README.txt @@ -41,9 +41,10 @@ idle class. For the benefit of buildbot machines that do not have a graphics screen, gui tests must be 'guarded' by "requires('gui')" in a setUp function or method. This will typically be setUpClass. -All gui objects must be destroyed by the end of the test, perhaps in a tearDown -function. Creating the Tk root directly in a setUp allows a reference to be saved -so it can be properly destroyed in the corresponding tearDown. +To avoid interfering with other gui tests, all gui objects must be destroyed +and deleted by the end of the test. If a widget, such as a Tk root, is created +in a setUpX function, destroy it in the corresponding tearDownX. For module +and class attributes, also delete the widget. --- @classmethod def setUpClass(cls): @@ -53,6 +54,7 @@ so it can be properly destroyed in the corresponding tearDown. @classmethod def tearDownClass(cls): cls.root.destroy() + del cls.root --- Support.requires('gui') returns true if it is either called in a main module diff --git a/Lib/idlelib/idle_test/test_formatparagraph.py b/Lib/idlelib/idle_test/test_formatparagraph.py index 7d7affc..eed2286 100644 --- a/Lib/idlelib/idle_test/test_formatparagraph.py +++ b/Lib/idlelib/idle_test/test_formatparagraph.py @@ -277,6 +277,9 @@ class FormatEventTest(unittest.TestCase): @classmethod def tearDownClass(cls): cls.root.destroy() + del cls.root + del cls.text + del cls.formatter def test_short_line(self): self.text.insert('1.0', "Short line\n") diff --git a/Lib/idlelib/idle_test/test_idlehistory.py b/Lib/idlelib/idle_test/test_idlehistory.py index c15a926..dc6bb32 100644 --- a/Lib/idlelib/idle_test/test_idlehistory.py +++ b/Lib/idlelib/idle_test/test_idlehistory.py @@ -80,6 +80,7 @@ class FetchTest(unittest.TestCase): @classmethod def tearDownClass(cls): cls.root.destroy() + del cls.root def fetch_test(self, reverse, line, prefix, index, bell=False): # Perform one fetch as invoked by Alt-N or Alt-P diff --git a/Lib/idlelib/idle_test/test_searchengine.py b/Lib/idlelib/idle_test/test_searchengine.py index e5e720d..2525a13 100644 --- a/Lib/idlelib/idle_test/test_searchengine.py +++ b/Lib/idlelib/idle_test/test_searchengine.py @@ -64,6 +64,7 @@ class GetSelectionTest(unittest.TestCase): ## @classmethod ## def tearDownClass(cls): ## cls.root.destroy() +## del cls.root def test_get_selection(self): # text = Text(master=self.root) @@ -219,6 +220,7 @@ class SearchTest(unittest.TestCase): ## @classmethod ## def tearDownClass(cls): ## cls.root.destroy() +## del cls.root def test_search(self): Equal = self.assertEqual @@ -261,6 +263,7 @@ class ForwardBackwardTest(unittest.TestCase): ## @classmethod ## def tearDownClass(cls): ## cls.root.destroy() +## del cls.root @classmethod def setUpClass(cls): diff --git a/Lib/idlelib/idle_test/test_text.py b/Lib/idlelib/idle_test/test_text.py index 3a0705b..f0b9b76 100644 --- a/Lib/idlelib/idle_test/test_text.py +++ b/Lib/idlelib/idle_test/test_text.py @@ -221,6 +221,7 @@ class TkTextTest(TextTest, unittest.TestCase): @classmethod def tearDownClass(cls): cls.root.destroy() + del cls.root if __name__ == '__main__': diff --git a/Lib/test/test_idle.py b/Lib/test/test_idle.py index 07f45c6..495b416 100644 --- a/Lib/test/test_idle.py +++ b/Lib/test/test_idle.py @@ -14,6 +14,7 @@ if use_resources and 'gui' in use_resources: try: root = tk.Tk() root.destroy() + del root except tk.TclError: while 'gui' in use_resources: use_resources.remove('gui') |