diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2012-08-04 22:25:31 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2012-08-04 22:25:31 (GMT) |
commit | 6f1a40ffd3d756f2f83bf7c93b25401c6aeb1bdc (patch) | |
tree | 771ab17ad11ca7fdfa54caaaccec9967aee9b2f8 | |
parent | c4d974d3fa05658b45ab170ce1fb58020a3ea72c (diff) | |
parent | ec2d26930cf255dc95a325a0d3c6da7927398a96 (diff) | |
download | cpython-6f1a40ffd3d756f2f83bf7c93b25401c6aeb1bdc.zip cpython-6f1a40ffd3d756f2f83bf7c93b25401c6aeb1bdc.tar.gz cpython-6f1a40ffd3d756f2f83bf7c93b25401c6aeb1bdc.tar.bz2 |
Merge universal newlines-related fixes (issue #13119)
-rw-r--r-- | Lib/test/test_subprocess.py | 54 | ||||
-rw-r--r-- | Lib/test/test_sys.py | 3 |
2 files changed, 30 insertions, 27 deletions
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py index c21d15b..552b13e 100644 --- a/Lib/test/test_subprocess.py +++ b/Lib/test/test_subprocess.py @@ -563,21 +563,22 @@ class ProcessTestCase(BaseTestCase): def test_universal_newlines(self): p = subprocess.Popen([sys.executable, "-c", 'import sys,os;' + SETBINARY + - 'sys.stdout.write(sys.stdin.readline());' - 'sys.stdout.flush();' - 'sys.stdout.write("line2\\n");' - 'sys.stdout.flush();' - 'sys.stdout.write(sys.stdin.read());' - 'sys.stdout.flush();' - 'sys.stdout.write("line4\\n");' - 'sys.stdout.flush();' - 'sys.stdout.write("line5\\r\\n");' - 'sys.stdout.flush();' - 'sys.stdout.write("line6\\r");' - 'sys.stdout.flush();' - 'sys.stdout.write("\\nline7");' - 'sys.stdout.flush();' - 'sys.stdout.write("\\nline8");'], + 'buf = sys.stdout.buffer;' + 'buf.write(sys.stdin.readline().encode());' + 'buf.flush();' + 'buf.write(b"line2\\n");' + 'buf.flush();' + 'buf.write(sys.stdin.read().encode());' + 'buf.flush();' + 'buf.write(b"line4\\n");' + 'buf.flush();' + 'buf.write(b"line5\\r\\n");' + 'buf.flush();' + 'buf.write(b"line6\\r");' + 'buf.flush();' + 'buf.write(b"\\nline7");' + 'buf.flush();' + 'buf.write(b"\\nline8");'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, universal_newlines=1) @@ -597,17 +598,18 @@ class ProcessTestCase(BaseTestCase): # universal newlines through communicate() p = subprocess.Popen([sys.executable, "-c", 'import sys,os;' + SETBINARY + - 'sys.stdout.write("line2\\n");' - 'sys.stdout.flush();' - 'sys.stdout.write("line4\\n");' - 'sys.stdout.flush();' - 'sys.stdout.write("line5\\r\\n");' - 'sys.stdout.flush();' - 'sys.stdout.write("line6\\r");' - 'sys.stdout.flush();' - 'sys.stdout.write("\\nline7");' - 'sys.stdout.flush();' - 'sys.stdout.write("\\nline8");'], + 'buf = sys.stdout.buffer;' + 'buf.write(b"line2\\n");' + 'buf.flush();' + 'buf.write(b"line4\\n");' + 'buf.flush();' + 'buf.write(b"line5\\r\\n");' + 'buf.flush();' + 'buf.write(b"line6\\r");' + 'buf.flush();' + 'buf.write(b"\\nline7");' + 'buf.flush();' + 'buf.write(b"\\nline8");'], stderr=subprocess.PIPE, stdout=subprocess.PIPE, universal_newlines=1) diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py index d540ef7..2920a29 100644 --- a/Lib/test/test_sys.py +++ b/Lib/test/test_sys.py @@ -535,7 +535,8 @@ class SysModuleTest(unittest.TestCase): p = subprocess.Popen([sys.executable, "-c", 'print(chr(0xa2))'], stdout = subprocess.PIPE, env=env) out = p.communicate()[0].strip() - self.assertEqual(out, "\xa2\n".encode("cp424")) + expected = ("\xa2" + os.linesep).encode("cp424") + self.assertEqual(out, expected) env["PYTHONIOENCODING"] = "ascii:replace" p = subprocess.Popen([sys.executable, "-c", 'print(chr(0xa2))'], |