Merged revisions 68033 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r68033 | tarek.ziade | 2008-12-29 23:23:53 +0100 (Mon, 29 Dec 2008) | 1 line

  fixed #4646 : distutils was choking on empty options arg in the setup function.
........
This commit is contained in:
Tarek Ziadé 2008-12-29 22:36:22 +00:00
parent 3f15ae37af
commit 0edab54cdf
3 changed files with 28 additions and 1 deletions

View File

@ -235,7 +235,7 @@ Common commands: (see '--help-commands' for more)
# command options will override any supplied redundantly
# through the general options dictionary.
options = attrs.get('options')
if options:
if options is not None:
del attrs['options']
for (command, cmd_options) in options.items():
opt_dict = self.get_option_dict(command)

View File

@ -8,6 +8,7 @@ import os
import StringIO
import sys
import unittest
import warnings
from test.test_support import TESTFN
@ -131,6 +132,29 @@ class DistributionTestCase(unittest.TestCase):
if os.path.exists(my_file):
os.remove(my_file)
def test_empty_options(self):
# an empty options dictionary should not stay in the
# list of attributes
klass = distutils.dist.Distribution
# catching warnings
warns = []
def _warn(msg):
warns.append(msg)
old_warn = warnings.warn
warnings.warn = _warn
try:
dist = klass(attrs={'author': 'xxx',
'name': 'xxx',
'version': 'xxx',
'url': 'xxxx',
'options': {}})
finally:
warnings.warn = old_warn
self.assertEquals(len(warns), 0)
class MetadataTestCase(unittest.TestCase):
def test_simple_metadata(self):

View File

@ -132,6 +132,9 @@ Core and Builtins
Library
-------
- Issue #4646: distutils was choking on empty options arg in the setup
function. Original patch by Thomas Heller.
- Issue #4400: .pypirc default generated file was broken in distutils.
- Issue #4736: io.BufferedRWPair's closed property now functions properly.