]> granicus.if.org Git - python/commitdiff
Merged revisions 74999 via svnmerge from
authorTarek Ziadé <ziade.tarek@gmail.com>
Mon, 21 Sep 2009 13:59:07 +0000 (13:59 +0000)
committerTarek Ziadé <ziade.tarek@gmail.com>
Mon, 21 Sep 2009 13:59:07 +0000 (13:59 +0000)
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r74999 | tarek.ziade | 2009-09-21 15:55:19 +0200 (Mon, 21 Sep 2009) | 13 lines

  Merged revisions 74994,74997 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r74994 | tarek.ziade | 2009-09-21 15:41:08 +0200 (Mon, 21 Sep 2009) | 1 line

    #6954: Fixed crash when using DISTUTILS_DEBUG flag in Distutils.
  ........
    r74997 | tarek.ziade | 2009-09-21 15:49:57 +0200 (Mon, 21 Sep 2009) | 1 line

    forgot to commit a file in previous commit (r74994, issue #6954)
  ........
................

Lib/distutils/dist.py
Lib/distutils/log.py
Lib/distutils/tests/support.py
Lib/distutils/tests/test_dist.py
Misc/NEWS

index ac5a0ca012052f9669d0c2f058acb71fd46db3ea..1c1ea477db4bc671bb126664024a48b5a8f6d64d 100644 (file)
@@ -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)
index 6f949d517936c6c6ea4fd1ac6cc587be3d6f9fdd..758857081c80e13ec772aea668323961478a752b 100644 (file)
@@ -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
index 1255413989ec87d4132d0a65f5a90fb1e082cb90..ea122111caa9f844f205a46d025a31ed96f65890 100644 (file)
@@ -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):
index 9f795f431494a2e64ea180832322d94bf95a17c3..70c9ec50e2a8cc685dd72aff9f2d0d0eec46d51a 100644 (file)
@@ -149,6 +149,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):
 
index 5236a9e5991ddbeb5987cd118dc3830f8ac90538..41edb17a61b554256747e40a55ad868761f07540 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -21,6 +21,8 @@ Core and Builtins
 Library
 -------
 
+- Issue #6954: Fixed crash when using DISTUTILS_DEBUG flag in Distutils.
+
 - Issue #4606: Passing 'None' if ctypes argtype is set to POINTER(...)
   does now always result in NULL.