summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2017-05-12 09:31:08 (GMT)
committerGitHub <noreply@github.com>2017-05-12 09:31:08 (GMT)
commitf2e894cfd9b6f5d6aacc276476262d481203030c (patch)
tree5e111eeb812af5282d187cc24087e3cc03747b93
parenta5bb62436e25614276ac4b8e252a87f3fcc946cd (diff)
downloadcpython-f2e894cfd9b6f5d6aacc276476262d481203030c.zip
cpython-f2e894cfd9b6f5d6aacc276476262d481203030c.tar.gz
cpython-f2e894cfd9b6f5d6aacc276476262d481203030c.tar.bz2
bpo-30342: Fix sysconfig.is_python_build() on VS9.0 (#1544)
Fix sysconfig.is_python_build() if Python is built with Visual Studio 2008 (VS 9.0).
-rw-r--r--Lib/sysconfig.py5
-rw-r--r--Lib/test/test_regrtest.py2
-rw-r--r--Misc/NEWS3
3 files changed, 10 insertions, 0 deletions
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
index 2a1da5a..9c8350d 100644
--- a/Lib/sysconfig.py
+++ b/Lib/sysconfig.py
@@ -112,6 +112,11 @@ if os.name == "nt" and "pcbuild" in _PROJECT_BASE[-8:].lower():
# PC/VS7.1
if os.name == "nt" and "\\pc\\v" in _PROJECT_BASE[-10:].lower():
_PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir, pardir))
+# PC/VS9.0/amd64
+if (os.name == "nt"
+ and os.path.basename(os.path.dirname(os.path.dirname(_PROJECT_BASE))).lower() == "pc"
+ and os.path.basename(os.path.dirname(_PROJECT_BASE)).lower() == "vs9.0"):
+ _PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir, pardir, pardir))
# PC/AMD64
if os.name == "nt" and "\\pcbuild\\amd64" in _PROJECT_BASE[-14:].lower():
_PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir, pardir))
diff --git a/Lib/test/test_regrtest.py b/Lib/test/test_regrtest.py
index fa23220..2001c8e 100644
--- a/Lib/test/test_regrtest.py
+++ b/Lib/test/test_regrtest.py
@@ -267,6 +267,8 @@ class ProgramsTestCase(BaseTestCase):
self.skipTest("Tools/buildbot/test.bat requires PCbuild build, "
"found %s" % build_dir)
+ @unittest.skipUnless(sysconfig.is_python_build(),
+ 'test.bat script is not installed')
@unittest.skipUnless(sys.platform == 'win32', 'Windows only')
def test_tools_buildbot_test(self):
self.need_pcbuild()
diff --git a/Misc/NEWS b/Misc/NEWS
index b52ffc7..4c9f2d3 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -42,6 +42,9 @@ Extension Modules
Library
-------
+- bpo-30342: Fix sysconfig.is_python_build() if Python is built with Visual
+ Studio 2008 (VS 9.0).
+
- bpo-29990: Fix range checking in GB18030 decoder. Original patch by Ma Lin.
- bpo-30243: Removed the __init__ methods of _json's scanner and encoder.