[Python-checkins] cpython (merge 3.5 -> default): Merge issue #27196 from 3.5: Stop IDLE test 'application destroyed' warnings.

terry.reedy python-checkins at python.org
Fri Jun 3 23:58:51 EDT 2016


https://hg.python.org/cpython/rev/2d864ac472f0
changeset: 101678:2d864ac472f0
parent: 101676:d8e5e3da4d57
parent: 101677:0207c6203f84
user: Terry Jan Reedy <tjreedy at udel.edu>
date: Fri Jun 03 23:58:37 2016 -0400
summary:
 Merge issue #27196 from 3.5: Stop IDLE test 'application destroyed' warnings.
files:
 Lib/idlelib/idle_test/README.txt | 6 ++++++
 Lib/idlelib/idle_test/test_configdialog.py | 6 +++---
 Lib/idlelib/idle_test/test_parenmatch.py | 9 ++++++---
 Lib/idlelib/idle_test/test_redirector.py | 6 +++---
 Lib/idlelib/idle_test/test_textview.py | 3 ++-
 5 files changed, 20 insertions(+), 10 deletions(-)
diff --git a/Lib/idlelib/idle_test/README.txt b/Lib/idlelib/idle_test/README.txt
--- a/Lib/idlelib/idle_test/README.txt
+++ b/Lib/idlelib/idle_test/README.txt
@@ -71,9 +71,15 @@
 @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
--- a/Lib/idlelib/idle_test/test_configdialog.py
+++ b/Lib/idlelib/idle_test/test_configdialog.py
@@ -1,7 +1,6 @@
-'''Unittests for idlelib/config.py
+'''Test idlelib.configdialog.
 
 Coverage: 46% just by creating dialog. The other half is change code.
-
 '''
 import unittest
 from test.support import requires
@@ -20,11 +19,12 @@
 
 @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
--- 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 @@
 @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_redirector.py b/Lib/idlelib/idle_test/test_redirector.py
--- a/Lib/idlelib/idle_test/test_redirector.py
+++ b/Lib/idlelib/idle_test/test_redirector.py
@@ -1,7 +1,7 @@
-"""Unittest for idlelib.redirector
+'''Test idlelib.redirector.
 
 100% coverage
-"""
+'''
 from test.support import requires
 import unittest
 from idlelib.idle_test.mock_idle import Func
@@ -48,8 +48,8 @@
 
 @classmethod
 def tearDownClass(cls):
- cls.text.destroy()
 del cls.text
+ 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
--- 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 tearDownModule():
 global root, TV
 del TV
+ root.update_idletasks()
 root.destroy() # pyflakes falsely sees root as undefined
 del root
 
-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /