summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_subprocess.py
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2012-08-04 22:23:40 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2012-08-04 22:23:40 (GMT)
commitec2d26930cf255dc95a325a0d3c6da7927398a96 (patch)
treedcfac1d87ba60d4c6aa5c598d9ff1ea5e2458aeb /Lib/test/test_subprocess.py
parent894375a2fdb872c36810bd4d010dcb2cbd8f8c9c (diff)
downloadcpython-ec2d26930cf255dc95a325a0d3c6da7927398a96.zip
cpython-ec2d26930cf255dc95a325a0d3c6da7927398a96.tar.gz
cpython-ec2d26930cf255dc95a325a0d3c6da7927398a96.tar.bz2
Fix universal newlines test to avoid the newline translation done by sys.stdout.
Diffstat (limited to 'Lib/test/test_subprocess.py')
-rw-r--r--Lib/test/test_subprocess.py54
1 files changed, 28 insertions, 26 deletions
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
index 6150e88..52de5c0 100644
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -476,21 +476,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)
@@ -510,17 +511,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)