[Python-checkins] cpython: Issue 19555 for distutils, plus a little clean up (pyflakes, line lengths).

barry.warsaw python-checkins at python.org
Fri Nov 22 21:31:57 CET 2013


http://hg.python.org/cpython/rev/8a130fd92255
changeset:   87369:8a130fd92255
parent:      87364:db6ae01a5f7f
user:        Barry Warsaw <barry at python.org>
date:        Fri Nov 22 15:31:35 2013 -0500
summary:
  Issue 19555 for distutils, plus a little clean up (pyflakes, line lengths).

files:
  Lib/distutils/sysconfig.py            |   8 ++
  Lib/distutils/tests/test_sysconfig.py |  43 +++++++++++---
  Misc/NEWS                             |   7 +-
  3 files changed, 44 insertions(+), 14 deletions(-)


diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
@@ -518,6 +518,11 @@
         _config_vars['prefix'] = PREFIX
         _config_vars['exec_prefix'] = EXEC_PREFIX
 
+        # For backward compatibility, see issue19555
+        SO = _config_vars.get('EXT_SUFFIX')
+        if SO is not None:
+            _config_vars['SO'] = SO
+
         # Always convert srcdir to an absolute path
         srcdir = _config_vars.get('srcdir', project_base)
         if os.name == 'posix':
@@ -568,4 +573,7 @@
     returned by 'get_config_vars()'.  Equivalent to
     get_config_vars().get(name)
     """
+    if name == 'SO':
+        import warnings
+        warnings.warn('SO is deprecated, use EXT_SUFFIX', DeprecationWarning)
     return get_config_vars().get(name)
diff --git a/Lib/distutils/tests/test_sysconfig.py b/Lib/distutils/tests/test_sysconfig.py
--- a/Lib/distutils/tests/test_sysconfig.py
+++ b/Lib/distutils/tests/test_sysconfig.py
@@ -1,7 +1,6 @@
 """Tests for distutils.sysconfig."""
 import os
 import shutil
-import test
 import unittest
 
 from distutils import sysconfig
@@ -9,8 +8,7 @@
 from distutils.tests import support
 from test.support import TESTFN, run_unittest
 
-class SysconfigTestCase(support.EnvironGuard,
-                        unittest.TestCase):
+class SysconfigTestCase(support.EnvironGuard, unittest.TestCase):
     def setUp(self):
         super(SysconfigTestCase, self).setUp()
         self.makefile = None
@@ -32,7 +30,6 @@
         self.assertTrue(os.path.isfile(config_h), config_h)
 
     def test_get_python_lib(self):
-        lib_dir = sysconfig.get_python_lib()
         # XXX doesn't work on Linux when Python was never installed before
         #self.assertTrue(os.path.isdir(lib_dir), lib_dir)
         # test for pythonxx.lib?
@@ -67,8 +64,9 @@
             self.assertTrue(os.path.exists(Python_h), Python_h)
             self.assertTrue(sysconfig._is_python_source_dir(srcdir))
         elif os.name == 'posix':
-            self.assertEqual(os.path.dirname(sysconfig.get_makefile_filename()),
-                                 srcdir)
+            self.assertEqual(
+                os.path.dirname(sysconfig.get_makefile_filename()),
+                srcdir)
 
     def test_srcdir_independent_of_cwd(self):
         # srcdir should be independent of the current working directory
@@ -129,10 +127,13 @@
 
     def test_sysconfig_module(self):
         import sysconfig as global_sysconfig
-        self.assertEqual(global_sysconfig.get_config_var('CFLAGS'), sysconfig.get_config_var('CFLAGS'))
-        self.assertEqual(global_sysconfig.get_config_var('LDFLAGS'), sysconfig.get_config_var('LDFLAGS'))
+        self.assertEqual(global_sysconfig.get_config_var('CFLAGS'),
+                         sysconfig.get_config_var('CFLAGS'))
+        self.assertEqual(global_sysconfig.get_config_var('LDFLAGS'),
+                         sysconfig.get_config_var('LDFLAGS'))
 
-    @unittest.skipIf(sysconfig.get_config_var('CUSTOMIZED_OSX_COMPILER'),'compiler flags customized')
+    @unittest.skipIf(sysconfig.get_config_var('CUSTOMIZED_OSX_COMPILER'),
+                     'compiler flags customized')
     def test_sysconfig_compiler_vars(self):
         # On OS X, binary installers support extension module building on
         # various levels of the operating system with differing Xcode
@@ -151,9 +152,29 @@
         import sysconfig as global_sysconfig
         if sysconfig.get_config_var('CUSTOMIZED_OSX_COMPILER'):
             return
-        self.assertEqual(global_sysconfig.get_config_var('LDSHARED'), sysconfig.get_config_var('LDSHARED'))
-        self.assertEqual(global_sysconfig.get_config_var('CC'), sysconfig.get_config_var('CC'))
+        self.assertEqual(global_sysconfig.get_config_var('LDSHARED'),
+                         sysconfig.get_config_var('LDSHARED'))
+        self.assertEqual(global_sysconfig.get_config_var('CC'),
+                         sysconfig.get_config_var('CC'))
 
+    @unittest.skipIf(sysconfig.get_config_var('EXT_SUFFIX') is None,
+                     'EXT_SUFFIX required for this test')
+    def test_SO_deprecation(self):
+        self.assertWarns(DeprecationWarning,
+                         sysconfig.get_config_var, 'SO')
+
+    @unittest.skipIf(sysconfig.get_config_var('EXT_SUFFIX') is None,
+                     'EXT_SUFFIX required for this test')
+    def test_SO_value(self):
+        self.assertEqual(sysconfig.get_config_var('SO'),
+                         sysconfig.get_config_var('EXT_SUFFIX'))
+
+    @unittest.skipIf(sysconfig.get_config_var('EXT_SUFFIX') is None,
+                     'EXT_SUFFIX required for this test')
+    def test_SO_in_vars(self):
+        vars = sysconfig.get_config_vars()
+        self.assertIsNotNone(vars['SO'])
+        self.assertEqual(vars['SO'], vars['EXT_SUFFIX'])
 
 
 def test_suite():
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,7 +10,8 @@
 Core and Builtins
 -----------------
 
-- Use the repr of a module name in more places in import, especially exceptions.
+- Use the repr of a module name in more places in import, especially
+  exceptions.
 
 - Issue #19619: str.encode, bytes.decode and bytearray.decode now use an
   internal API to throw LookupError for known non-text encodings, rather
@@ -79,8 +80,8 @@
   CRL enumeration are now two functions. enum_certificates() also returns
   purpose flags as set of OIDs.
 
-- Issue #19555: Restore sysconfig.get_config_var('SO'), with a
-  DeprecationWarning pointing people at $EXT_SUFFIX.
+- Issue #19555: Restore sysconfig.get_config_var('SO'), (and the distutils
+  equivalent) with a DeprecationWarning pointing people at $EXT_SUFFIX.
 
 - Issue #8813: Add SSLContext.verify_flags to change the verification flags
   of the context in order to enable certification revocation list (CRL)

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list