From c932b65428b4995bc53609ed361fddf382882ee5 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 5 Jan 2011 03:54:28 +0000 Subject: [PATCH] test_threading: use Popen.communicate() instead of .wait() Popen.communicate() avoids deadlocks and close the pipes when done. This commit fixes a ResourceWarning(unclosed pipe). --- Lib/test/test_threading.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py index f3d5a4c89d..46d2f4723d 100644 --- a/Lib/test/test_threading.py +++ b/Lib/test/test_threading.py @@ -512,9 +512,9 @@ class ThreadJoinOnShutdown(BaseTestCase): def assertScriptHasOutput(self, script, expected_output): p = subprocess.Popen([sys.executable, "-c", script], stdout=subprocess.PIPE) - rc = p.wait() - data = p.stdout.read().decode().replace('\r', '') - self.assertEqual(rc, 0, "Unexpected error") + stdout, stderr = p.communicate() + data = stdout.decode().replace('\r', '') + self.assertEqual(p.returncode, 0, "Unexpected error") self.assertEqual(data, expected_output) @unittest.skipUnless(hasattr(os, 'fork'), "needs os.fork()") -- 2.50.1