From: Victor Stinner Date: Wed, 17 May 2017 21:49:38 +0000 (-0700) Subject: bpo-30387: Fix warning in test_threading (#1634) (#1636) X-Git-Tag: v3.6.2rc1~144 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=44944b602af23712d7119801183cdc6e202e4f76;p=python bpo-30387: Fix warning in test_threading (#1634) (#1636) test_is_alive_after_fork() now joins directly the thread to avoid the following warning added by bpo-30357: Warning -- threading_cleanup() failed to cleanup 0 threads after 2 sec (count: 0, dangling: 21) Use also a different exit code to catch generic exit code 1. (cherry picked from commit f8d05b3a24e745ab4a974b891ac1389e2f11ce4d) --- diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py index 6b6c4d220a..0db028864d 100644 --- a/Lib/test/test_threading.py +++ b/Lib/test/test_threading.py @@ -470,13 +470,15 @@ class ThreadTests(BaseTestCase): for i in range(20): t = threading.Thread(target=lambda: None) t.start() - self.addCleanup(t.join) pid = os.fork() if pid == 0: - os._exit(1 if t.is_alive() else 0) + os._exit(11 if t.is_alive() else 10) else: + t.join() + pid, status = os.waitpid(pid, 0) - self.assertEqual(0, status) + self.assertTrue(os.WIFEXITED(status)) + self.assertEqual(10, os.WEXITSTATUS(status)) def test_main_thread(self): main = threading.main_thread()