[Python-checkins] r42986 - python/branches/release24-maint/Lib/test/test_logging.py

tim.peters python-checkins at python.org
Mon Mar 13 05:50:35 CET 2006


Author: tim.peters
Date: Mon Mar 13 05:50:34 2006
New Revision: 42986

Modified:
   python/branches/release24-maint/Lib/test/test_logging.py
Log:
Merge rev 41859 from the trunk.

test_main():  Restore the original root logger level after running
the tests.  This stops the confusing/annoying:

    No handlers could be found for logger "cookielib"

message we got whenever some test running after test_logging
happened to use cookielib.py (when not using regrtest's -r,
this happened during test_urllib2; when using -r, it varied).


Modified: python/branches/release24-maint/Lib/test/test_logging.py
==============================================================================
--- python/branches/release24-maint/Lib/test/test_logging.py	(original)
+++ python/branches/release24-maint/Lib/test/test_logging.py	Mon Mar 13 05:50:34 2006
@@ -487,11 +487,20 @@
         # or a Mac OS X box which supports very little locale stuff at all
         original_locale = None
 
+    # Save and restore the original root logger level across the tests.
+    # Otherwise, e.g., if any test using cookielib runs after test_logging,
+    # cookielib's debug-level logger tries to log messages, leading to
+    # confusing:
+    #    No handlers could be found for logger "cookielib"
+    # output while the tests are running.
+    root_logger = logging.getLogger("")
+    original_logging_level = root_logger.getEffectiveLevel()
     try:
         test_main_inner()
     finally:
         if original_locale is not None:
             locale.setlocale(locale.LC_ALL, original_locale)
+        root_logger.setLevel(original_logging_level)
 
 if __name__ == "__main__":
     sys.stdout.write("test_logging\n")


More information about the Python-checkins mailing list