From: Victor Stinner Date: Tue, 27 Apr 2010 18:29:45 +0000 (+0000) Subject: test_subprocess: test_undecodable_env() is specific to POSIX system X-Git-Tag: v3.1.3rc1~854 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=097d1b709a63e2a3fc1eed2170a2e9b506b20a7d;p=python test_subprocess: test_undecodable_env() is specific to POSIX system The bug was introduced by the backport of r80421 (r80494). --- diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py index 7711293a32..a4a44072dd 100644 --- a/Lib/test/test_subprocess.py +++ b/Lib/test/test_subprocess.py @@ -539,32 +539,6 @@ class ProcessTestCase(unittest.TestCase): if err.errno != 2: # ignore "no such file" raise - def test_undecodable_env(self): - for key, value in (('test', 'abc\uDCFF'), ('test\uDCFF', '42')): - value_repr = repr(value).encode("ascii") - - # test str with surrogates - script = "import os; print(repr(os.getenv(%s)))" % repr(key) - env = os.environ.copy() - env[key] = value - stdout = subprocess.check_output( - [sys.executable, "-c", script], - env=env) - stdout = stdout.rstrip(b'\n\r') - self.assertEquals(stdout, value_repr) - - # test bytes - key = key.encode("ascii", "surrogateescape") - value = value.encode("ascii", "surrogateescape") - script = "import os; print(repr(os.getenv(%s)))" % repr(key) - env = os.environ.copy() - env[key] = value - stdout = subprocess.check_output( - [sys.executable, "-c", script], - env=env) - stdout = stdout.rstrip(b'\n\r') - self.assertEquals(stdout, value_repr) - # # POSIX tests # @@ -704,6 +678,32 @@ class ProcessTestCase(unittest.TestCase): p.terminate() self.assertEqual(p.wait(), -signal.SIGTERM) + def test_undecodable_env(self): + for key, value in (('test', 'abc\uDCFF'), ('test\uDCFF', '42')): + value_repr = repr(value).encode("ascii") + + # test str with surrogates + script = "import os; print(repr(os.getenv(%s)))" % repr(key) + env = os.environ.copy() + env[key] = value + stdout = subprocess.check_output( + [sys.executable, "-c", script], + env=env) + stdout = stdout.rstrip(b'\n\r') + self.assertEquals(stdout, value_repr) + + # test bytes + key = key.encode("ascii", "surrogateescape") + value = value.encode("ascii", "surrogateescape") + script = "import os; print(repr(os.getenv(%s)))" % repr(key) + env = os.environ.copy() + env[key] = value + stdout = subprocess.check_output( + [sys.executable, "-c", script], + env=env) + stdout = stdout.rstrip(b'\n\r') + self.assertEquals(stdout, value_repr) + # # Windows tests #