bpo-45187: Fix dangling threads in test_socket.CreateServerFunctionalTest (GH-28422)
(cherry picked from commit 51ebb7f4f5e9bdcf8279a1d91be9569706f6bead)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index b6da4d0..5c15648 100755
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -6492,13 +6492,6 @@ def test_dualstack_ipv6_family(self):
class CreateServerFunctionalTest(unittest.TestCase):
timeout = support.LOOPBACK_TIMEOUT
- def setUp(self):
- self.thread = None
-
- def tearDown(self):
- if self.thread is not None:
- self.thread.join(self.timeout)
-
def echo_server(self, sock):
def run(sock):
with sock:
@@ -6512,8 +6505,9 @@ def run(sock):
event = threading.Event()
sock.settimeout(self.timeout)
- self.thread = threading.Thread(target=run, args=(sock, ))
- self.thread.start()
+ thread = threading.Thread(target=run, args=(sock, ))
+ thread.start()
+ self.addCleanup(thread.join, self.timeout)
event.set()
def echo_client(self, addr, family):