diff options
-rw-r--r-- | Lib/distutils/dist.py | 2 | ||||
-rw-r--r-- | Lib/distutils/log.py | 3 | ||||
-rw-r--r-- | Lib/distutils/tests/support.py | 3 | ||||
-rw-r--r-- | Lib/distutils/tests/test_dist.py | 7 | ||||
-rw-r--r-- | Misc/NEWS | 2 |
5 files changed, 16 insertions, 1 deletions
diff --git a/Lib/distutils/dist.py b/Lib/distutils/dist.py index ac5a0ca..1c1ea47 100644 --- a/Lib/distutils/dist.py +++ b/Lib/distutils/dist.py @@ -354,7 +354,7 @@ Common commands: (see '--help-commands' for more) parser = ConfigParser() for filename in filenames: if DEBUG: - self.announce(" reading", filename) + self.announce(" reading %s" % filename) parser.read(filename) for section in parser.sections(): options = parser.options(section) diff --git a/Lib/distutils/log.py b/Lib/distutils/log.py index 6f949d5..7588570 100644 --- a/Lib/distutils/log.py +++ b/Lib/distutils/log.py @@ -17,6 +17,9 @@ class Log: self.threshold = threshold def _log(self, level, msg, args): + if level not in (DEBUG, INFO, WARN, ERROR, FATAL): + raise ValueError('%s wrong log level' % str(level)) + if level >= self.threshold: if args: msg = msg % args diff --git a/Lib/distutils/tests/support.py b/Lib/distutils/tests/support.py index 1255413..ea12211 100644 --- a/Lib/distutils/tests/support.py +++ b/Lib/distutils/tests/support.py @@ -4,6 +4,7 @@ import shutil import tempfile from distutils import log +from distutils.log import DEBUG, INFO, WARN, ERROR, FATAL from distutils.core import Distribution from test.support import EnvironmentVarGuard @@ -25,6 +26,8 @@ class LoggingSilencer(object): super().tearDown() def _log(self, level, msg, args): + if level not in (DEBUG, INFO, WARN, ERROR, FATAL): + raise ValueError('%s wrong log level' % str(level)) self.logs.append((level, msg, args)) def get_logs(self, *levels): diff --git a/Lib/distutils/tests/test_dist.py b/Lib/distutils/tests/test_dist.py index 91297f0..799b0c0 100644 --- a/Lib/distutils/tests/test_dist.py +++ b/Lib/distutils/tests/test_dist.py @@ -171,6 +171,13 @@ class DistributionTestCase(support.LoggingSilencer, self.assertEquals(cmds, ['distutils.command', 'one', 'two']) + def test_announce(self): + # make sure the level is known + dist = Distribution() + args = ('ok',) + kwargs = {'level': 'ok2'} + self.assertRaises(ValueError, dist.announce, args, kwargs) + class MetadataTestCase(support.TempdirManager, support.EnvironGuard, unittest.TestCase): @@ -1064,6 +1064,8 @@ Core and Builtins Library ------- +- Issue #6954: Fixed crash when using DISTUTILS_DEBUG flag in Distutils. + - Issue #6163: Fixed HP-UX runtime library dir options in distutils.unixcompiler. Initial patch by Sridhar Ratnakumar and Michael Haubenwallner. |