Skip to content

Commit 47ec25d

Browse files
committed
Brush subprocess tests a bit.
1 parent 4d16bcc commit 47ec25d

1 file changed

Lines changed: 21 additions & 20 deletions

File tree

Lib/test/test_subprocess.py

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import select
1515
import shutil
1616
import gc
17+
import textwrap
1718

1819
try:
1920
import resource
@@ -622,12 +623,12 @@ def test_universal_newlines_communicate(self):
622623
def test_universal_newlines_communicate_stdin(self):
623624
# universal newlines through communicate(), with only stdin
624625
p = subprocess.Popen([sys.executable, "-c",
625-
'import sys,os;' + SETBINARY + '''\nif True:
626-
s = sys.stdin.readline()
627-
assert s == "line1\\n", repr(s)
628-
s = sys.stdin.read()
629-
assert s == "line3\\n", repr(s)
630-
'''],
626+
'import sys,os;' + SETBINARY + textwrap.dedent('''
627+
s = sys.stdin.readline()
628+
assert s == "line1\\n", repr(s)
629+
s = sys.stdin.read()
630+
assert s == "line3\\n", repr(s)
631+
''')],
631632
stdin=subprocess.PIPE,
632633
universal_newlines=1)
633634
(stdout, stderr) = p.communicate("line1\nline3\n")
@@ -646,24 +647,24 @@ def test_universal_newlines_communicate_input_none(self):
646647
self.assertEqual(p.returncode, 0)
647648

648649
def test_universal_newlines_communicate_stdin_stdout_stderr(self):
649-
# universal newlines through communicate(), with only stdin
650+
# universal newlines through communicate(), with stdin, stdout, stderr
650651
p = subprocess.Popen([sys.executable, "-c",
651-
'import sys,os;' + SETBINARY + '''\nif True:
652-
s = sys.stdin.readline()
653-
sys.stdout.buffer.write(s.encode())
654-
sys.stdout.buffer.write(b"line2\\r")
655-
sys.stderr.buffer.write(b"eline2\\n")
656-
s = sys.stdin.read()
657-
sys.stdout.buffer.write(s.encode())
658-
sys.stdout.buffer.write(b"line4\\n")
659-
sys.stdout.buffer.write(b"line5\\r\\n")
660-
sys.stderr.buffer.write(b"eline6\\r")
661-
sys.stderr.buffer.write(b"eline7\\r\\nz")
662-
'''],
652+
'import sys,os;' + SETBINARY + textwrap.dedent('''
653+
s = sys.stdin.buffer.readline()
654+
sys.stdout.buffer.write(s)
655+
sys.stdout.buffer.write(b"line2\\r")
656+
sys.stderr.buffer.write(b"eline2\\n")
657+
s = sys.stdin.buffer.read()
658+
sys.stdout.buffer.write(s)
659+
sys.stdout.buffer.write(b"line4\\n")
660+
sys.stdout.buffer.write(b"line5\\r\\n")
661+
sys.stderr.buffer.write(b"eline6\\r")
662+
sys.stderr.buffer.write(b"eline7\\r\\nz")
663+
''')],
663664
stdin=subprocess.PIPE,
664665
stderr=subprocess.PIPE,
665666
stdout=subprocess.PIPE,
666-
universal_newlines=1)
667+
universal_newlines=True)
667668
self.addCleanup(p.stdout.close)
668669
self.addCleanup(p.stderr.close)
669670
(stdout, stderr) = p.communicate("line1\nline3\n")

0 commit comments

Comments
 (0)