summaryrefslogtreecommitdiff
path: root/Lib/test/test_subprocess.py
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2020-03-31 20:08:12 +0200
committerGitHub <noreply@github.com>2020-03-31 20:08:12 +0200
commit278c1e159c970da6cd6683d18c6211f5118674cc (patch)
treebe6eb27edca136282245e7ce374a23ba05f25cf7 /Lib/test/test_subprocess.py
parent400e1dbcad93061f1f7ab4735202daaa5e731507 (diff)
downloadcpython-git-278c1e159c970da6cd6683d18c6211f5118674cc.tar.gz
bpo-40094: Add test.support.wait_process() (GH-19254)
Moreover, the following tests now check the child process exit code: * test_os.PtyTests * test_mailbox.test_lock_conflict() * test_tempfile.test_process_awareness() * test_uuid.testIssue8621() * multiprocessing resource tracker tests
Diffstat (limited to 'Lib/test/test_subprocess.py')
-rw-r--r--Lib/test/test_subprocess.py11
1 files changed, 3 insertions, 8 deletions
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
index 868f279839..7cf31e1f09 100644
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -3114,12 +3114,10 @@ class POSIXProcessTestCase(BaseTestCase):
proc = subprocess.Popen(args)
# Wait until the real process completes to avoid zombie process
- pid = proc.pid
- pid, status = os.waitpid(pid, 0)
- self.assertEqual(status, 0)
+ support.wait_process(proc.pid, exitcode=0)
status = _testcapi.W_STOPCODE(3)
- with mock.patch('subprocess.os.waitpid', return_value=(pid, status)):
+ with mock.patch('subprocess.os.waitpid', return_value=(proc.pid, status)):
returncode = proc.wait()
self.assertEqual(returncode, -3)
@@ -3130,10 +3128,7 @@ class POSIXProcessTestCase(BaseTestCase):
proc = subprocess.Popen(ZERO_RETURN_CMD)
# wait until the process completes without using the Popen APIs.
- pid, status = os.waitpid(proc.pid, 0)
- self.assertEqual(pid, proc.pid)
- self.assertTrue(os.WIFEXITED(status), status)
- self.assertEqual(os.WEXITSTATUS(status), 0)
+ support.wait_process(proc.pid, exitcode=0)
# returncode is still None but the process completed.
self.assertIsNone(proc.returncode)