]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
- Issue #19555: Restore sysconfig.get_config_var('SO'), with a
authorBarry Warsaw <barry@python.org>
Thu, 21 Nov 2013 23:57:14 +0000 (18:57 -0500)
committerBarry Warsaw <barry@python.org>
Thu, 21 Nov 2013 23:57:14 +0000 (18:57 -0500)
  DeprecationWarning pointing people at $EXT_SUFFIX.

Lib/sysconfig.py
Lib/test/test_sysconfig.py
Misc/NEWS

index 776b2f640459ae17c853e22c61112fc138b2a1bc..c4f7cab174300c46818946154d87d6f006f22cbd 100644 (file)
@@ -409,6 +409,10 @@ def _init_posix(vars):
     # _sysconfigdata is generated at build time, see _generate_posix_vars()
     from _sysconfigdata import build_time_vars
     vars.update(build_time_vars)
+    # For backward compatibility, see issue19555
+    SO = build_time_vars.get('EXT_SUFFIX')
+    if SO is not None:
+        vars['SO'] = SO
 
 def _init_non_posix(vars):
     """Initialize the module as appropriate for NT"""
@@ -579,6 +583,9 @@ def get_config_var(name):
 
     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)
 
 
index 29686040ea9bec144d33192de5e2ccd9b1387836..5bc3f329ba2e4333453750921d62f36b10ddd3df 100644 (file)
@@ -369,6 +369,25 @@ class TestSysConfig(unittest.TestCase):
             os.chdir(cwd)
         self.assertEqual(srcdir, srcdir2)
 
+    @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'])
+
 
 class MakefileTests(unittest.TestCase):
 
index f1f0680ad9bcdb3f9a862a31d9c03b74e0f78db3..253cf86d629a05f414051b4651c8630fbbdfaea9 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -59,6 +59,9 @@ Core and Builtins
 Library
 -------
 
+- Issue #19555: Restore sysconfig.get_config_var('SO'), 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)
   checks or strict X509 rules.