mirror of https://github.com/python/cpython.git
Merged revisions 68081 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r68081 | tarek.ziade | 2008-12-31 00:03:41 +0100 (Wed, 31 Dec 2008) | 1 line Fixed #4702: Throwing DistutilsPlatformError instead of IOError under win32 if MSVC is not found ........
This commit is contained in:
parent
d465640eb2
commit
e4ea6bc9f3
|
@ -247,7 +247,7 @@ def query_vcvarsall(version, arch="x86"):
|
||||||
result = {}
|
result = {}
|
||||||
|
|
||||||
if vcvarsall is None:
|
if vcvarsall is None:
|
||||||
raise IOError("Unable to find vcvarsall.bat")
|
raise DistutilsPlatformError("Unable to find vcvarsall.bat")
|
||||||
log.debug("Calling 'vcvarsall.bat %s' (version=%s)", arch, version)
|
log.debug("Calling 'vcvarsall.bat %s' (version=%s)", arch, version)
|
||||||
popen = subprocess.Popen('"%s" %s & set' % (vcvarsall, arch),
|
popen = subprocess.Popen('"%s" %s & set' % (vcvarsall, arch),
|
||||||
stdout=subprocess.PIPE,
|
stdout=subprocess.PIPE,
|
||||||
|
@ -255,7 +255,7 @@ def query_vcvarsall(version, arch="x86"):
|
||||||
|
|
||||||
stdout, stderr = popen.communicate()
|
stdout, stderr = popen.communicate()
|
||||||
if popen.wait() != 0:
|
if popen.wait() != 0:
|
||||||
raise IOError(stderr.decode("mbcs"))
|
raise DistutilsPlatformError(stderr.decode("mbcs"))
|
||||||
|
|
||||||
stdout = stdout.decode("mbcs")
|
stdout = stdout.decode("mbcs")
|
||||||
for line in stdout.split("\n"):
|
for line in stdout.split("\n"):
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
"""Tests for distutils.msvc9compiler."""
|
||||||
|
import sys
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
from distutils.errors import DistutilsPlatformError
|
||||||
|
|
||||||
|
class msvc9compilerTestCase(unittest.TestCase):
|
||||||
|
|
||||||
|
def test_no_compiler(self):
|
||||||
|
# makes sure query_vcvarsall throws
|
||||||
|
# a DistutilsPlatformError if the compiler
|
||||||
|
# is not found
|
||||||
|
if sys.platform != 'win32':
|
||||||
|
# this test is only for win32
|
||||||
|
return
|
||||||
|
from distutils.msvc9compiler import query_vcvarsall
|
||||||
|
def _find_vcvarsall(version):
|
||||||
|
return None
|
||||||
|
|
||||||
|
from distutils import msvc9compiler
|
||||||
|
old_find_vcvarsall = msvc9compiler.find_vcvarsall
|
||||||
|
msvc9compiler.find_vcvarsall = _find_vcvarsall
|
||||||
|
try:
|
||||||
|
self.assertRaises(DistutilsPlatformError, query_vcvarsall,
|
||||||
|
'wont find this version')
|
||||||
|
finally:
|
||||||
|
msvc9compiler.find_vcvarsall = old_find_vcvarsall
|
||||||
|
|
||||||
|
def test_suite():
|
||||||
|
return unittest.makeSuite(msvc9compilerTestCase)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
unittest.main(defaultTest="test_suite")
|
|
@ -135,6 +135,9 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #4702: Throwing a DistutilsPlatformError instead of IOError in case
|
||||||
|
no MSVC compiler is found under Windows. Original patch by Philip Jenvey.
|
||||||
|
|
||||||
- Issue #4646: distutils was choking on empty options arg in the setup
|
- Issue #4646: distutils was choking on empty options arg in the setup
|
||||||
function. Original patch by Thomas Heller.
|
function. Original patch by Thomas Heller.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue