summaryrefslogtreecommitdiff
path: root/setuptools/_distutils/tests
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2020-09-05 11:06:10 -0400
committerJason R. Coombs <jaraco@jaraco.com>2020-09-05 11:06:10 -0400
commit0a665b2a2f2c0cfbc5badad138feb762c720c15c (patch)
tree43d5ae3a05a749390c95501dd5c77aebc95cd9f1 /setuptools/_distutils/tests
parent03d36b9edb53e266a0b4b836e1e3178f989a0781 (diff)
parent2888d3c08e1c34254f726bc331dc33d419e636dc (diff)
downloadpython-setuptools-git-0a665b2a2f2c0cfbc5badad138feb762c720c15c.tar.gz
Merge https://github.com/pypa/distutils into master
Diffstat (limited to 'setuptools/_distutils/tests')
-rw-r--r--setuptools/_distutils/tests/test_msvccompiler.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/setuptools/_distutils/tests/test_msvccompiler.py b/setuptools/_distutils/tests/test_msvccompiler.py
index 88d912b1..46a51cd0 100644
--- a/setuptools/_distutils/tests/test_msvccompiler.py
+++ b/setuptools/_distutils/tests/test_msvccompiler.py
@@ -110,6 +110,26 @@ class TestSpawn(unittest.TestCase):
thread.join()
assert all(threads)
+ def test_concurrent_safe_fallback(self):
+ """
+ If CCompiler.spawn has been monkey-patched without support
+ for an env, it should still execute.
+ """
+ import distutils._msvccompiler as _msvccompiler
+ from distutils import ccompiler
+ compiler = _msvccompiler.MSVCCompiler()
+ compiler._paths = "expected"
+
+ def CCompiler_spawn(self, cmd):
+ "A spawn without an env argument."
+ assert os.environ["PATH"] == "expected"
+
+ with unittest.mock.patch.object(
+ ccompiler.CCompiler, 'spawn', CCompiler_spawn):
+ compiler.spawn(["n/a"])
+
+ assert os.environ.get("PATH") != "expected"
+
def test_suite():
return unittest.makeSuite(msvccompilerTestCase)