Commits

Fred Drake committed 9fb5138

make sure distutils logging is shut off in tests to avoid spurious output

Comments (0)

Files changed (5)

Lib/distutils/log.py

 fatal = _global_log.fatal
 
 def set_threshold(level):
+    # return the old threshold for use from tests
+    old = _global_log.threshold
     _global_log.threshold = level
+    return old
 
 def set_verbosity(v):
     if v <= 0:

Lib/distutils/tests/support.py

 import shutil
 import tempfile
 
+from distutils import log
+
+
+class LoggingSilencer(object):
+
+    def setUp(self):
+        super(LoggingSilencer, self).setUp()
+        self.threshold = log.set_threshold(log.FATAL)
+
+    def tearDown(self):
+        log.set_threshold(self.threshold)
+        super(LoggingSilencer, self).tearDown()
+
 
 class TempdirManager(object):
     """Mix-in class that handles temporary directories for test cases.

Lib/distutils/tests/test_build_py.py

 from distutils.tests import support
 
 
-class BuildPyTestCase(support.TempdirManager, unittest.TestCase):
+class BuildPyTestCase(support.TempdirManager,
+                      support.LoggingSilencer,
+                      unittest.TestCase):
 
     def test_package_data(self):
         sources = self.mkdtemp()

Lib/distutils/tests/test_build_scripts.py

 from distutils.tests import support
 
 
-class BuildScriptsTestCase(support.TempdirManager, unittest.TestCase):
+class BuildScriptsTestCase(support.TempdirManager,
+                           support.LoggingSilencer,
+                           unittest.TestCase):
 
     def test_default_settings(self):
         cmd = self.get_build_scripts_cmd("/foo/bar", [])

Lib/distutils/tests/test_install_scripts.py

 from distutils.tests import support
 
 
-class InstallScriptsTestCase(support.TempdirManager, unittest.TestCase):
+class InstallScriptsTestCase(support.TempdirManager,
+                             support.LoggingSilencer,
+                             unittest.TestCase):
 
     def test_default_settings(self):
         dist = Distribution()