diff options
author | Terry Jan Reedy <tjreedy@udel.edu> | 2016-06-04 03:53:56 (GMT) |
---|---|---|
committer | Terry Jan Reedy <tjreedy@udel.edu> | 2016-06-04 03:53:56 (GMT) |
commit | 6047b5537226efdcd2e3b460957fb44388ec2e99 (patch) | |
tree | 078a11b878d2fff040d3805b03946f0dda4ef51c | |
parent | 75cbeb5dac8f4f57777f053eee257dbba5553d98 (diff) | |
download | cpython-6047b5537226efdcd2e3b460957fb44388ec2e99.zip cpython-6047b5537226efdcd2e3b460957fb44388ec2e99.tar.gz cpython-6047b5537226efdcd2e3b460957fb44388ec2e99.tar.bz2 |
Issue #27196: Stop 'application destroyed' warnings when running IDLE tests.
The update_idletasks solution was provided by Serhiy Storchaka.
-rw-r--r-- | Lib/idlelib/idle_test/README.txt | 6 | ||||
-rw-r--r-- | Lib/idlelib/idle_test/test_configdialog.py | 9 | ||||
-rw-r--r-- | Lib/idlelib/idle_test/test_parenmatch.py | 9 | ||||
-rw-r--r-- | Lib/idlelib/idle_test/test_textview.py | 3 | ||||
-rw-r--r-- | Lib/idlelib/idle_test/test_widgetredir.py | 5 |
5 files changed, 22 insertions, 10 deletions
diff --git a/Lib/idlelib/idle_test/README.txt b/Lib/idlelib/idle_test/README.txt index 39a19d0..01b31f6 100644 --- a/Lib/idlelib/idle_test/README.txt +++ b/Lib/idlelib/idle_test/README.txt @@ -71,9 +71,15 @@ deleted BEFORE root is destroyed. See https://bugs.python.org/issue20567. @classmethod def tearDownClass(cls): del cls.text + cls.root.update_idletasks() cls.root.destroy() del cls.root +The update_idletasks call is sometimes needed to prevent the following warning +either when running a test alone or as part of the test suite (#27196). + can't invoke "event" command: application has been destroyed + ... + "ttk::ThemeChanged" Requires('gui') causes the test(s) it guards to be skipped if any of these conditions are met: diff --git a/Lib/idlelib/idle_test/test_configdialog.py b/Lib/idlelib/idle_test/test_configdialog.py index fab860b..4b413e2 100644 --- a/Lib/idlelib/idle_test/test_configdialog.py +++ b/Lib/idlelib/idle_test/test_configdialog.py @@ -1,7 +1,7 @@ -'''Unittests for idlelib/configHandler.py - -Coverage: 46% just by creating dialog. The other half is change code. +'''Test idlelib.configHandler. +Coverage: 46% just by creating dialog. +The other half is code for working with user customizations. ''' import unittest from test.support import requires @@ -20,11 +20,12 @@ class ConfigDialogTest(unittest.TestCase): @classmethod def tearDownClass(cls): + cls.root.update_idletasks() cls.root.destroy() del cls.root def test_dialog(self): - d=ConfigDialog(self.root, 'Test', _utest=True) + d = ConfigDialog(self.root, 'Test', _utest=True) d.remove_var_callbacks() d.destroy() diff --git a/Lib/idlelib/idle_test/test_parenmatch.py b/Lib/idlelib/idle_test/test_parenmatch.py index e153952..95cc22c 100644 --- a/Lib/idlelib/idle_test/test_parenmatch.py +++ b/Lib/idlelib/idle_test/test_parenmatch.py @@ -1,6 +1,8 @@ -"""Test idlelib.ParenMatch.""" -# This must currently be a gui test because ParenMatch methods use -# several text methods not defined on idlelib.idle_test.mock_tk.Text. +'''Test idlelib.ParenMatch. + +This must currently be a gui test because ParenMatch methods use +several text methods not defined on idlelib.idle_test.mock_tk.Text. +''' from test.support import requires requires('gui') @@ -29,6 +31,7 @@ class ParenMatchTest(unittest.TestCase): @classmethod def tearDownClass(cls): del cls.text, cls.editwin + cls.root.update_idletasks() cls.root.destroy() del cls.root diff --git a/Lib/idlelib/idle_test/test_textview.py b/Lib/idlelib/idle_test/test_textview.py index 1a75e95..02d1472 100644 --- a/Lib/idlelib/idle_test/test_textview.py +++ b/Lib/idlelib/idle_test/test_textview.py @@ -1,4 +1,4 @@ -'''Test the functions and main class method of textView.py. +'''Test idlelib.textView. Since all methods and functions create (or destroy) a TextViewer, which is a widget containing multiple widgets, all tests must be gui tests. @@ -24,6 +24,7 @@ def setUpModule(): def tearDownModule(): global root, TV del TV + root.update_idletasks() root.destroy() # pyflakes falsely sees root as undefined del root diff --git a/Lib/idlelib/idle_test/test_widgetredir.py b/Lib/idlelib/idle_test/test_widgetredir.py index eeec3ea..c68dfcc 100644 --- a/Lib/idlelib/idle_test/test_widgetredir.py +++ b/Lib/idlelib/idle_test/test_widgetredir.py @@ -1,7 +1,7 @@ -"""Unittest for idlelib.WidgetRedirector +'''Test idlelib.WidgetRedirector. 100% coverage -""" +''' from test.support import requires import unittest from idlelib.idle_test.mock_idle import Func @@ -49,6 +49,7 @@ class WidgetRedirectorTest(unittest.TestCase): @classmethod def tearDownClass(cls): del cls.text + cls.root.update_idletasks() cls.root.destroy() del cls.root |