Skip to content

Commit 18e95b4

Browse files
authored
bpo-31234: Join threads in tests (#3572)
Call thread.join() on threads to prevent the "dangling threads" warning.
1 parent 1bbd482 commit 18e95b4

File tree

4 files changed

+15
-3
lines changed

4 files changed

+15
-3
lines changed

Lib/test/test_concurrent_futures.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -772,6 +772,7 @@ def notification():
772772
t.start()
773773

774774
self.assertEqual(f1.result(timeout=5), 42)
775+
t.join()
775776

776777
def test_result_with_cancel(self):
777778
# TODO([email protected]): This test is timing dependent.
@@ -785,6 +786,7 @@ def notification():
785786
t.start()
786787

787788
self.assertRaises(futures.CancelledError, f1.result, timeout=5)
789+
t.join()
788790

789791
def test_exception_with_timeout(self):
790792
self.assertRaises(futures.TimeoutError,
@@ -813,6 +815,7 @@ def notification():
813815
t.start()
814816

815817
self.assertTrue(isinstance(f1.exception(timeout=5), OSError))
818+
t.join()
816819

817820
@test.support.reap_threads
818821
def test_main():

Lib/test/test_decimal.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1618,6 +1618,9 @@ def test_threading(self):
16181618
for sig in Signals[self.decimal]:
16191619
self.assertFalse(DefaultContext.flags[sig])
16201620

1621+
th1.join()
1622+
th2.join()
1623+
16211624
DefaultContext.prec = save_prec
16221625
DefaultContext.Emax = save_emax
16231626
DefaultContext.Emin = save_emin

Lib/test/test_smtplib.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -611,7 +611,9 @@ def setUp(self):
611611
self.sock.settimeout(15)
612612
self.port = support.bind_port(self.sock)
613613
servargs = (self.evt, self.respdata, self.sock)
614-
threading.Thread(target=server, args=servargs).start()
614+
thread = threading.Thread(target=server, args=servargs)
615+
thread.start()
616+
self.addCleanup(thread.join)
615617
self.evt.wait()
616618
self.evt.clear()
617619

Lib/test/test_xmlrpc.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -755,7 +755,9 @@ def setUp(self):
755755
self.evt = threading.Event()
756756
# start server thread to handle requests
757757
serv_args = (self.evt, self.request_count, self.requestHandler)
758-
threading.Thread(target=self.threadFunc, args=serv_args).start()
758+
thread = threading.Thread(target=self.threadFunc, args=serv_args)
759+
thread.start()
760+
self.addCleanup(thread.join)
759761

760762
# wait for the server to be ready
761763
self.evt.wait()
@@ -1206,7 +1208,9 @@ def setUp(self):
12061208
self.evt = threading.Event()
12071209
# start server thread to handle requests
12081210
serv_args = (self.evt, 1)
1209-
threading.Thread(target=http_server, args=serv_args).start()
1211+
thread = threading.Thread(target=http_server, args=serv_args)
1212+
thread.start()
1213+
self.addCleanup(thread.join)
12101214

12111215
# wait for the server to be ready
12121216
self.evt.wait()

0 commit comments

Comments
 (0)