mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
bpo-31234: Add test.support.wait_threads_exit() (#3578)
Use _thread.count() to wait until threads exit. The new context manager prevents the "dangling thread" warning.
This commit is contained in:
parent
b8c7be2c52
commit
ff40ecda73
6 changed files with 161 additions and 109 deletions
|
@ -271,6 +271,9 @@ class ThreadableTest:
|
|||
self.server_ready.set()
|
||||
|
||||
def _setUp(self):
|
||||
self.wait_threads = support.wait_threads_exit()
|
||||
self.wait_threads.__enter__()
|
||||
|
||||
self.server_ready = threading.Event()
|
||||
self.client_ready = threading.Event()
|
||||
self.done = threading.Event()
|
||||
|
@ -297,6 +300,7 @@ class ThreadableTest:
|
|||
def _tearDown(self):
|
||||
self.__tearDown()
|
||||
self.done.wait()
|
||||
self.wait_threads.__exit__(None, None, None)
|
||||
|
||||
if self.queue.qsize():
|
||||
exc = self.queue.get()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue