summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_threading.py
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2017-09-15 23:55:47 (GMT)
committerGitHub <noreply@github.com>2017-09-15 23:55:47 (GMT)
commit2c1c2ca2548f943d6323859f17612aa5a4a19165 (patch)
tree15e94e4908de2b034fa12edd1d0eb26ccfeee0e2 /Lib/test/test_threading.py
parent4d72945a28bc9e535a74b42eb0b40702c2f69e16 (diff)
downloadcpython-2c1c2ca2548f943d6323859f17612aa5a4a19165.zip
cpython-2c1c2ca2548f943d6323859f17612aa5a4a19165.tar.gz
cpython-2c1c2ca2548f943d6323859f17612aa5a4a19165.tar.bz2
[3.6] bpo-31234: Join threads in tests (#3589)
* bpo-31234: Join threads in tests (#3572) Call thread.join() on threads to prevent the "dangling threads" warning. (cherry picked from commit 18e95b4176256f100429a806d0455406df98f984) * bpo-31234: Join threads in test_hashlib (#3573) * bpo-31234: Join threads in test_hashlib Use thread.join() to wait until the parallel hash tasks complete rather than using events. Calling thread.join() prevent "dangling thread" warnings. * test_hashlib: minor PEP 8 coding style fixes (cherry picked from commit 8dcf22f442320e4c1a5408e67b4c9002ad105f17) * bpo-31234: Join threads in test_threading (#3579) Call thread.join() to prevent the "dangling thread" warning. (cherry picked from commit b8c7be2c523b012e57915182543d06657161057f) * bpo-31234: Join threads in test_queue (#3586) Call thread.join() to prevent the "dangling thread" warning. (cherry picked from commit 167cbde50a88ec2a7d26b2cb9891d5e32bdfbfb5) * bpo-31234: Join timers in test_threading (#3598) Call the .join() method of threading.Timer timers to prevent the "threading_cleanup() failed to cleanup 1 threads" warning. (cherry picked from commit da3e5cf961f9bcc4bb376386cfe7a2865325086c)
Diffstat (limited to 'Lib/test/test_threading.py')
-rw-r--r--Lib/test/test_threading.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py
index 162a72e..9cadc0f 100644
--- a/Lib/test/test_threading.py
+++ b/Lib/test/test_threading.py
@@ -575,6 +575,7 @@ class ThreadTests(BaseTestCase):
self.assertFalse(t.is_alive())
# And verify the thread disposed of _tstate_lock.
self.assertIsNone(t._tstate_lock)
+ t.join()
def test_repr_stopped(self):
# Verify that "stopped" shows up in repr(Thread) appropriately.
@@ -601,6 +602,7 @@ class ThreadTests(BaseTestCase):
break
time.sleep(0.01)
self.assertIn(LOOKING_FOR, repr(t)) # we waited at least 5 seconds
+ t.join()
def test_BoundedSemaphore_limit(self):
# BoundedSemaphore should raise ValueError if released too often.
@@ -915,6 +917,7 @@ class ThreadingExceptionTests(BaseTestCase):
thread = threading.Thread()
thread.start()
self.assertRaises(RuntimeError, thread.start)
+ thread.join()
def test_joining_current_thread(self):
current_thread = threading.current_thread()
@@ -928,6 +931,7 @@ class ThreadingExceptionTests(BaseTestCase):
thread = threading.Thread()
thread.start()
self.assertRaises(RuntimeError, setattr, thread, "daemon", True)
+ thread.join()
def test_releasing_unacquired_lock(self):
lock = threading.Lock()
@@ -1090,6 +1094,8 @@ class TimerTests(BaseTestCase):
self.callback_event.wait()
self.assertEqual(len(self.callback_args), 2)
self.assertEqual(self.callback_args, [((), {}), ((), {})])
+ timer1.join()
+ timer2.join()
def _callback_spy(self, *args, **kwargs):
self.callback_args.append((args[:], kwargs.copy()))