◐ Shell
clean mode source ↗

[3.10] bpo-45212: Fix dangling threads in skipped tests in test_socke… by serhiy-storchaka · Pull Request #28409 · python/cpython

Expand Up @@ -326,9 +326,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 @@ -340,13 +338,19 @@ def serverExplicitReady(self): def _setUp(self): self.wait_threads = threading_helper.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 @@ -363,15 +367,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 @@ -6176,6 +6172,7 @@ def _testWithTimeoutTriggeredSend(self): def testWithTimeoutTriggeredSend(self): conn = self.accept_conn() conn.recv(88192) time.sleep(1)
# errors
Expand Down