Issue #12383: fix test_empty_env() of subprocess on Mac OS X
Mac OS X adds __CF_USER_TEXT_ENCODING variable to an empty environment. Fix
also the test on the Py_ENABLE_SHARED config varible: test that the variable is
present, don't check it's value.
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
index 8444d6a..23325f4 100644
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -339,7 +339,7 @@
stdout, stderr = p.communicate()
self.assertEqual(stdout, b"orange")
- @unittest.skipIf(sysconfig.get_config_var('Py_ENABLE_SHARED') == 1,
+ @unittest.skipIf(sysconfig.get_config_var('Py_ENABLE_SHARED') is not None,
'the python library cannot be loaded '
'with an empty environment')
def test_empty_env(self):
@@ -349,7 +349,11 @@
stdout=subprocess.PIPE,
env={}) as p:
stdout, stderr = p.communicate()
- self.assertEqual(stdout.strip(), b"[]")
+ self.assertIn(stdout.strip(),
+ (b"[]",
+ # Mac OS X adds __CF_USER_TEXT_ENCODING variable to an empty
+ # environment
+ b"['__CF_USER_TEXT_ENCODING']"))
def test_communicate_stdin(self):
p = subprocess.Popen([sys.executable, "-c",