summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBarry Warsaw <barry@python.org>2013-11-21 23:57:14 (GMT)
committerBarry Warsaw <barry@python.org>2013-11-21 23:57:14 (GMT)
commit197a7702310e6a6cf67b658c66dd3b43ee12439b (patch)
tree750625effd3962e3eb49b27a4cb94d28b719a759
parent18fc7be80d77f68a0e7ab54e6c222a4b7a3bc774 (diff)
downloadcpython-197a7702310e6a6cf67b658c66dd3b43ee12439b.zip
cpython-197a7702310e6a6cf67b658c66dd3b43ee12439b.tar.gz
cpython-197a7702310e6a6cf67b658c66dd3b43ee12439b.tar.bz2
- Issue #19555: Restore sysconfig.get_config_var('SO'), with a
DeprecationWarning pointing people at $EXT_SUFFIX.
-rw-r--r--Lib/sysconfig.py7
-rw-r--r--Lib/test/test_sysconfig.py19
-rw-r--r--Misc/NEWS3
3 files changed, 29 insertions, 0 deletions
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
index 776b2f6..c4f7cab 100644
--- a/Lib/sysconfig.py
+++ b/Lib/sysconfig.py
@@ -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)
diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py
index 2968604..5bc3f32 100644
--- a/Lib/test/test_sysconfig.py
+++ b/Lib/test/test_sysconfig.py
@@ -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):
diff --git a/Misc/NEWS b/Misc/NEWS
index f1f0680..253cf86 100644
--- 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.