[Python-checkins] cpython: Issue #18081: Workaround "./python -m test_idle test_logging" failure

victor.stinner python-checkins at python.org
Tue Jun 25 00:17:52 CEST 2013


http://hg.python.org/cpython/rev/2a9e1eb3719c
changeset:   84330:2a9e1eb3719c
user:        Victor Stinner <victor.stinner at gmail.com>
date:        Tue Jun 25 00:17:37 2013 +0200
summary:
  Issue #18081: Workaround "./python -m test_idle test_logging" failure

"import idlelib" should not install hooks on the warning modules, hooks should
only be installed when IDLE is started.

files:
  Lib/idlelib/PyShell.py |  5 +++--
  Lib/idlelib/run.py     |  4 +++-
  2 files changed, 6 insertions(+), 3 deletions(-)


diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py
--- a/Lib/idlelib/PyShell.py
+++ b/Lib/idlelib/PyShell.py
@@ -61,7 +61,6 @@
                                               lineno, line=line))
         except OSError:
             pass  ## file (probably __stderr__) is invalid, warning dropped.
-    warnings.showwarning = idle_showwarning
     def idle_formatwarning(message, category, filename, lineno, line=None):
         """Format warnings the IDLE way"""
         s = "\nWarning (from warnings module):\n"
@@ -73,7 +72,6 @@
             s += "    %s\n" % line
         s += "%s: %s\n>>> " % (category.__name__, message)
         return s
-    warnings.formatwarning = idle_formatwarning
 
 def extended_linecache_checkcache(filename=None,
                                   orig_checkcache=linecache.checkcache):
@@ -1425,6 +1423,9 @@
 def main():
     global flist, root, use_subprocess
 
+    warnings.showwarning = idle_showwarning
+    warnings.formatwarning = idle_formatwarning
+
     use_subprocess = True
     enable_shell = False
     enable_edit = False
diff --git a/Lib/idlelib/run.py b/Lib/idlelib/run.py
--- a/Lib/idlelib/run.py
+++ b/Lib/idlelib/run.py
@@ -40,7 +40,6 @@
             s += "    %s\n" % line
         s += "%s: %s\n" % (category.__name__, message)
         return s
-    warnings.formatwarning = idle_formatwarning_subproc
 
 
 tcl = tkinter.Tcl()
@@ -82,6 +81,9 @@
     global exit_now
     global quitting
     global no_exitfunc
+
+    warnings.formatwarning = idle_formatwarning_subproc
+
     no_exitfunc = del_exitfunc
     #time.sleep(15) # test subprocess not responding
     try:

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list