◐ Shell
clean mode source ↗

[3.9] bpo-45212: Fix dangling threads in skipped tests in test_socket… by serhiy-storchaka · Pull Request #28408 · python/cpython

Expand Up @@ -324,9 +324,7 @@ def _testFoo(self): def __init__(self): # Swap the true setup function self.__setUp = self.setUp self.__tearDown = self.tearDown self.setUp = self._setUp self.tearDown = self._tearDown
def serverExplicitReady(self): """This method allows the server to explicitly indicate that Expand All @@ -338,13 +336,19 @@ def serverExplicitReady(self): def _setUp(self): self.wait_threads = support.wait_threads_exit() self.wait_threads.__enter__() self.addCleanup(self.wait_threads.__exit__, None, None, None)
self.server_ready = threading.Event() self.client_ready = threading.Event() self.done = threading.Event() self.queue = queue.Queue(1) self.server_crashed = False
def raise_queued_exception(): if self.queue.qsize(): raise self.queue.get() self.addCleanup(raise_queued_exception)
# Do some munging to start the client test. methodname = self.id() i = methodname.rfind('.') Expand All @@ -361,15 +365,7 @@ def _setUp(self): finally: self.server_ready.set() self.client_ready.wait()
def _tearDown(self): self.__tearDown() self.done.wait() self.wait_threads.__exit__(None, None, None)
if self.queue.qsize(): exc = self.queue.get() raise exc self.addCleanup(self.done.wait)
def clientRun(self, test_func): self.server_ready.wait() Expand Down Expand Up @@ -6172,6 +6168,7 @@ def _testWithTimeoutTriggeredSend(self): def testWithTimeoutTriggeredSend(self): conn = self.accept_conn() conn.recv(88192) time.sleep(1)
# errors
Expand Down