mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Fix subprocess test broken on Windows
This commit is contained in:
parent
04ec8ce1bb
commit
943c5b31b6
1 changed files with 11 additions and 10 deletions
|
@ -650,15 +650,15 @@ class ProcessTestCase(BaseTestCase):
|
||||||
p = subprocess.Popen([sys.executable, "-c",
|
p = subprocess.Popen([sys.executable, "-c",
|
||||||
'import sys,os;' + SETBINARY + '''\nif True:
|
'import sys,os;' + SETBINARY + '''\nif True:
|
||||||
s = sys.stdin.readline()
|
s = sys.stdin.readline()
|
||||||
sys.stdout.write(s)
|
sys.stdout.buffer.write(s.encode())
|
||||||
sys.stdout.write("line2\\r")
|
sys.stdout.buffer.write(b"line2\\r")
|
||||||
sys.stderr.write("eline2\\n")
|
sys.stderr.buffer.write(b"eline2\\n")
|
||||||
s = sys.stdin.read()
|
s = sys.stdin.read()
|
||||||
sys.stdout.write(s+"line4\\n")
|
sys.stdout.buffer.write(s.encode())
|
||||||
sys.stdout.write(s+"line5\\r\\n")
|
sys.stdout.buffer.write(b"line4\\n")
|
||||||
sys.stderr.write("eline6\\n")
|
sys.stdout.buffer.write(b"line5\\r\\n")
|
||||||
sys.stderr.write("eline7\\r")
|
sys.stderr.buffer.write(b"eline6\\r")
|
||||||
sys.stderr.write("eline8\\r\\n")
|
sys.stderr.buffer.write(b"eline7\\r\\nz")
|
||||||
'''],
|
'''],
|
||||||
stdin=subprocess.PIPE,
|
stdin=subprocess.PIPE,
|
||||||
stderr=subprocess.PIPE,
|
stderr=subprocess.PIPE,
|
||||||
|
@ -668,10 +668,11 @@ class ProcessTestCase(BaseTestCase):
|
||||||
self.addCleanup(p.stderr.close)
|
self.addCleanup(p.stderr.close)
|
||||||
(stdout, stderr) = p.communicate("line1\nline3\n")
|
(stdout, stderr) = p.communicate("line1\nline3\n")
|
||||||
self.assertEqual(p.returncode, 0)
|
self.assertEqual(p.returncode, 0)
|
||||||
self.assertEqual("line1\nline2\nline3\nline4\nline3\nline5\n", stdout)
|
self.assertEqual("line1\nline2\nline3\nline4\nline5\n", stdout)
|
||||||
# Python debug build push something like "[42442 refs]\n"
|
# Python debug build push something like "[42442 refs]\n"
|
||||||
# to stderr at exit of subprocess.
|
# to stderr at exit of subprocess.
|
||||||
self.assertTrue(stderr.startswith("eline2\neline6\neline7\neline8\n"))
|
# Don't use assertStderrEqual because it strips CR and LF from output.
|
||||||
|
self.assertTrue(stderr.startswith("eline2\neline6\neline7\n"))
|
||||||
|
|
||||||
def test_no_leaking(self):
|
def test_no_leaking(self):
|
||||||
# Make sure we leak no resources
|
# Make sure we leak no resources
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue