From 4575afcb53db638232d897aed5e84bb629fc1ecf Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C3=89ric=20Araujo?= Date: Wed, 15 Feb 2012 17:25:25 +0100 Subject: [PATCH] =?utf8?q?Fix=20parsing=20of=20packaging=E2=80=99s=20build?= =?utf8?q?=5Fext=20--libraries=20option=20(#1326113)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Lib/packaging/command/build_ext.py | 3 +-- Lib/packaging/tests/test_command_build_ext.py | 12 ++++++------ Misc/NEWS | 5 +++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Lib/packaging/command/build_ext.py b/Lib/packaging/command/build_ext.py index 4f375b6668..4c85822a92 100644 --- a/Lib/packaging/command/build_ext.py +++ b/Lib/packaging/command/build_ext.py @@ -159,8 +159,7 @@ class build_ext(Command): if plat_py_include != py_include: self.include_dirs.append(plat_py_include) - if isinstance(self.libraries, str): - self.libraries = [self.libraries] + self.ensure_string_list('libraries') # Life is easier if we're not forever checking for None, so # simplify these options to empty lists if unset diff --git a/Lib/packaging/tests/test_command_build_ext.py b/Lib/packaging/tests/test_command_build_ext.py index 4883f38a56..161b00081d 100644 --- a/Lib/packaging/tests/test_command_build_ext.py +++ b/Lib/packaging/tests/test_command_build_ext.py @@ -141,21 +141,21 @@ class BuildExtTestCase(support.TempdirManager, # make sure cmd.libraries is turned into a list # if it's a string cmd = build_ext(dist) - cmd.libraries = 'my_lib' + cmd.libraries = 'my_lib, other_lib lastlib' cmd.finalize_options() - self.assertEqual(cmd.libraries, ['my_lib']) + self.assertEqual(cmd.libraries, ['my_lib', 'other_lib', 'lastlib']) # make sure cmd.library_dirs is turned into a list # if it's a string cmd = build_ext(dist) - cmd.library_dirs = 'my_lib_dir' + cmd.library_dirs = 'my_lib_dir%sother_lib_dir' % os.pathsep cmd.finalize_options() - self.assertIn('my_lib_dir', cmd.library_dirs) + self.assertEqual(cmd.library_dirs, ['my_lib_dir', 'other_lib_dir']) # make sure rpath is turned into a list - # if it's a list of os.pathsep's paths + # if it's a string cmd = build_ext(dist) - cmd.rpath = os.pathsep.join(['one', 'two']) + cmd.rpath = 'one%stwo' % os.pathsep cmd.finalize_options() self.assertEqual(cmd.rpath, ['one', 'two']) diff --git a/Misc/NEWS b/Misc/NEWS index 1e67160a4b..faef50aeba 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -472,8 +472,9 @@ Library - Issue #13015: Fix a possible reference leak in defaultdict.__repr__. Patch by Suman Saha. -- Issue #1326113: distutils' build_ext command --libraries option now - correctly parses multiple values separated by whitespace or commas. +- Issue #1326113: distutils' and packaging's build_ext commands option now + correctly parses multiple values (separated by whitespace or commas) given + to their --libraries option. - Issue #10287: nntplib now queries the server's CAPABILITIES first before sending MODE READER, and only sends it if not already in READER mode. -- 2.50.1