diff options
author | Richard Oudkerk <shibturn@gmail.com> | 2012-07-27 11:06:55 (GMT) |
---|---|---|
committer | Richard Oudkerk <shibturn@gmail.com> | 2012-07-27 11:06:55 (GMT) |
commit | 46874ad367c2f3fdd47b2c8cb4b405bbcb2ed14a (patch) | |
tree | 7a082ee1141091afb3a20761d045ab0cf6cad5f4 /Lib/test | |
parent | a61b45980b4a6187e043abfb10c727b82e619ee2 (diff) | |
download | cpython-46874ad367c2f3fdd47b2c8cb4b405bbcb2ed14a.zip cpython-46874ad367c2f3fdd47b2c8cb4b405bbcb2ed14a.tar.gz cpython-46874ad367c2f3fdd47b2c8cb4b405bbcb2ed14a.tar.bz2 |
Issue #15364: Fix sysconfig.get_config_var('srcdir') to be an absolute path.
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_sysconfig.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py index a40c688..059e4c1 100644 --- a/Lib/test/test_sysconfig.py +++ b/Lib/test/test_sysconfig.py @@ -340,6 +340,34 @@ class TestSysConfig(unittest.TestCase): self.assertEqual(status, 0) self.assertEqual(my_platform, test_platform) + def test_srcdir(self): + # See Issues #15322, #15364. + srcdir = sysconfig.get_config_var('srcdir') + + self.assertTrue(os.path.isabs(srcdir), srcdir) + self.assertTrue(os.path.isdir(srcdir), srcdir) + + if sysconfig._PYTHON_BUILD: + # The python executable has not been installed so srcdir + # should be a full source checkout. + Python_h = os.path.join(srcdir, 'Include', 'Python.h') + self.assertTrue(os.path.exists(Python_h), Python_h) + self.assertTrue(sysconfig._is_python_source_dir(srcdir)) + elif os.name == 'posix': + self.assertEqual(sysconfig.get_makefile_filename(), srcdir) + + def test_srcdir_independent_of_cwd(self): + # srcdir should be independent of the current working directory + # See Issues #15322, #15364. + srcdir = sysconfig.get_config_var('srcdir') + cwd = os.getcwd() + try: + os.chdir('..') + srcdir2 = sysconfig.get_config_var('srcdir') + finally: + os.chdir(cwd) + self.assertEqual(srcdir, srcdir2) + class MakefileTests(unittest.TestCase): |