From 99773359843803c54574b6ee6fc1516e7fcde10f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tarek=20Ziad=C3=A9?= Date: Mon, 21 Sep 2009 13:41:08 +0000 Subject: #6954: Fixed crash when using DISTUTILS_DEBUG flag in Distutils. --- Lib/distutils/dist.py | 2 +- Lib/distutils/log.py | 3 +++ Lib/distutils/tests/test_dist.py | 7 +++++++ Misc/NEWS | 2 ++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Lib/distutils/dist.py b/Lib/distutils/dist.py index afed545..f49afcc 100644 --- a/Lib/distutils/dist.py +++ b/Lib/distutils/dist.py @@ -359,7 +359,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/test_dist.py b/Lib/distutils/tests/test_dist.py index 553f30c..3d4b25f 100644 --- a/Lib/distutils/tests/test_dist.py +++ b/Lib/distutils/tests/test_dist.py @@ -200,6 +200,13 @@ class DistributionTestCase(support.TempdirManager, 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): diff --git a/Misc/NEWS b/Misc/NEWS index 8261b6c..1cc8f74 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -379,6 +379,8 @@ Core and Builtins Library ------- +- Issue #6954: Fixed crash when using DISTUTILS_DEBUG flag in Distutils. + - Issue #6851: Fix urllib.urlopen crash on secondairy threads on OSX 10.6 - Issue #4606: Passing 'None' if ctypes argtype is set to POINTER(...) -- cgit v0.12