Commit d403a29c authored by Victor Stinner's avatar Victor Stinner Committed by GitHub

bpo-31234: Fix dangling thread in test_ftp/poplib (#3540)

Explicitly clear the server attribute in test_ftplib and test_poplib
to prevent dangling thread.
parent b8f4163d
......@@ -470,6 +470,8 @@ class TestFTPClass(TestCase):
def tearDown(self):
self.client.close()
self.server.stop()
# Explicitly clear the attribute to prevent dangling thread
self.server = None
asyncore.close_all(ignore_all=True)
def check_data(self, received, expected):
......@@ -800,6 +802,8 @@ class TestIPv6Environment(TestCase):
def tearDown(self):
self.client.close()
self.server.stop()
# Explicitly clear the attribute to prevent dangling thread
self.server = None
asyncore.close_all(ignore_all=True)
def test_af(self):
......@@ -859,6 +863,8 @@ class TestTLS_FTPClass(TestCase):
def tearDown(self):
self.client.close()
self.server.stop()
# Explicitly clear the attribute to prevent dangling thread
self.server = None
asyncore.close_all(ignore_all=True)
def test_control_connection(self):
......
......@@ -254,6 +254,8 @@ class TestPOP3Class(TestCase):
def tearDown(self):
self.client.close()
self.server.stop()
# Explicitly clear the attribute to prevent dangling thread
self.server = None
def test_getwelcome(self):
self.assertEqual(self.client.getwelcome(),
......@@ -436,6 +438,8 @@ class TestPOP3_TLSClass(TestPOP3Class):
# this exception
self.client.close()
self.server.stop()
# Explicitly clear the attribute to prevent dangling thread
self.server = None
def test_stls(self):
self.assertRaises(poplib.error_proto, self.client.stls)
......@@ -461,7 +465,8 @@ class TestTimeouts(TestCase):
def tearDown(self):
self.thread.join()
del self.thread # Clear out any dangling Thread objects.
# Explicitly clear the attribute to prevent dangling thread
self.thread = None
def server(self, evt, serv):
serv.listen()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment