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:
Victor Stinner 2017-09-14 13:07:24 -07:00 committed by GitHub
parent b8c7be2c52
commit ff40ecda73
6 changed files with 161 additions and 109 deletions

View file

@ -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()