Merge universal newlines-related fixes (issue #13119)
This commit is contained in:
commit
6f1a40ffd3
|
@ -563,21 +563,22 @@ class ProcessTestCase(BaseTestCase):
|
||||||
def test_universal_newlines(self):
|
def test_universal_newlines(self):
|
||||||
p = subprocess.Popen([sys.executable, "-c",
|
p = subprocess.Popen([sys.executable, "-c",
|
||||||
'import sys,os;' + SETBINARY +
|
'import sys,os;' + SETBINARY +
|
||||||
'sys.stdout.write(sys.stdin.readline());'
|
'buf = sys.stdout.buffer;'
|
||||||
'sys.stdout.flush();'
|
'buf.write(sys.stdin.readline().encode());'
|
||||||
'sys.stdout.write("line2\\n");'
|
'buf.flush();'
|
||||||
'sys.stdout.flush();'
|
'buf.write(b"line2\\n");'
|
||||||
'sys.stdout.write(sys.stdin.read());'
|
'buf.flush();'
|
||||||
'sys.stdout.flush();'
|
'buf.write(sys.stdin.read().encode());'
|
||||||
'sys.stdout.write("line4\\n");'
|
'buf.flush();'
|
||||||
'sys.stdout.flush();'
|
'buf.write(b"line4\\n");'
|
||||||
'sys.stdout.write("line5\\r\\n");'
|
'buf.flush();'
|
||||||
'sys.stdout.flush();'
|
'buf.write(b"line5\\r\\n");'
|
||||||
'sys.stdout.write("line6\\r");'
|
'buf.flush();'
|
||||||
'sys.stdout.flush();'
|
'buf.write(b"line6\\r");'
|
||||||
'sys.stdout.write("\\nline7");'
|
'buf.flush();'
|
||||||
'sys.stdout.flush();'
|
'buf.write(b"\\nline7");'
|
||||||
'sys.stdout.write("\\nline8");'],
|
'buf.flush();'
|
||||||
|
'buf.write(b"\\nline8");'],
|
||||||
stdin=subprocess.PIPE,
|
stdin=subprocess.PIPE,
|
||||||
stdout=subprocess.PIPE,
|
stdout=subprocess.PIPE,
|
||||||
universal_newlines=1)
|
universal_newlines=1)
|
||||||
|
@ -597,17 +598,18 @@ class ProcessTestCase(BaseTestCase):
|
||||||
# universal newlines through communicate()
|
# universal newlines through communicate()
|
||||||
p = subprocess.Popen([sys.executable, "-c",
|
p = subprocess.Popen([sys.executable, "-c",
|
||||||
'import sys,os;' + SETBINARY +
|
'import sys,os;' + SETBINARY +
|
||||||
'sys.stdout.write("line2\\n");'
|
'buf = sys.stdout.buffer;'
|
||||||
'sys.stdout.flush();'
|
'buf.write(b"line2\\n");'
|
||||||
'sys.stdout.write("line4\\n");'
|
'buf.flush();'
|
||||||
'sys.stdout.flush();'
|
'buf.write(b"line4\\n");'
|
||||||
'sys.stdout.write("line5\\r\\n");'
|
'buf.flush();'
|
||||||
'sys.stdout.flush();'
|
'buf.write(b"line5\\r\\n");'
|
||||||
'sys.stdout.write("line6\\r");'
|
'buf.flush();'
|
||||||
'sys.stdout.flush();'
|
'buf.write(b"line6\\r");'
|
||||||
'sys.stdout.write("\\nline7");'
|
'buf.flush();'
|
||||||
'sys.stdout.flush();'
|
'buf.write(b"\\nline7");'
|
||||||
'sys.stdout.write("\\nline8");'],
|
'buf.flush();'
|
||||||
|
'buf.write(b"\\nline8");'],
|
||||||
stderr=subprocess.PIPE,
|
stderr=subprocess.PIPE,
|
||||||
stdout=subprocess.PIPE,
|
stdout=subprocess.PIPE,
|
||||||
universal_newlines=1)
|
universal_newlines=1)
|
||||||
|
|
|
@ -535,7 +535,8 @@ class SysModuleTest(unittest.TestCase):
|
||||||
p = subprocess.Popen([sys.executable, "-c", 'print(chr(0xa2))'],
|
p = subprocess.Popen([sys.executable, "-c", 'print(chr(0xa2))'],
|
||||||
stdout = subprocess.PIPE, env=env)
|
stdout = subprocess.PIPE, env=env)
|
||||||
out = p.communicate()[0].strip()
|
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"
|
env["PYTHONIOENCODING"] = "ascii:replace"
|
||||||
p = subprocess.Popen([sys.executable, "-c", 'print(chr(0xa2))'],
|
p = subprocess.Popen([sys.executable, "-c", 'print(chr(0xa2))'],
|
||||||
|
|
Loading…
Reference in New Issue