Skip to content

Commit 45dba3a

Browse files
authored
test_urllib2_localnet: clear server variable (#2510)
Set the server attribute to None in cleanup to avoid dangling threads.
1 parent 0056118 commit 45dba3a

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

Lib/test/test_urllib2_localnet.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -289,11 +289,15 @@ def setUp(self):
289289
def http_server_with_basic_auth_handler(*args, **kwargs):
290290
return BasicAuthHandler(*args, **kwargs)
291291
self.server = LoopbackHttpServerThread(http_server_with_basic_auth_handler)
292-
self.addCleanup(self.server.stop)
292+
self.addCleanup(self.stop_server)
293293
self.server_url = 'http://127.0.0.1:%s' % self.server.port
294294
self.server.start()
295295
self.server.ready.wait()
296296

297+
def stop_server(self):
298+
self.server.stop()
299+
self.server = None
300+
297301
def tearDown(self):
298302
super(BasicAuthTests, self).tearDown()
299303

@@ -339,6 +343,7 @@ def create_fake_proxy_handler(*args, **kwargs):
339343
return FakeProxyHandler(self.digest_auth_handler, *args, **kwargs)
340344

341345
self.server = LoopbackHttpServerThread(create_fake_proxy_handler)
346+
self.addCleanup(self.stop_server)
342347
self.server.start()
343348
self.server.ready.wait()
344349
proxy_url = "http://127.0.0.1:%d" % self.server.port
@@ -347,9 +352,9 @@ def create_fake_proxy_handler(*args, **kwargs):
347352
self.opener = urllib.request.build_opener(
348353
handler, self.proxy_digest_handler)
349354

350-
def tearDown(self):
355+
def stop_server(self):
351356
self.server.stop()
352-
super(ProxyAuthTests, self).tearDown()
357+
self.server = None
353358

354359
def test_proxy_with_bad_password_raises_httperror(self):
355360
self.proxy_digest_handler.add_password(self.REALM, self.URL,
@@ -468,13 +473,17 @@ def urlopen(self, url, data=None, **kwargs):
468473
f.close()
469474
return b"".join(l)
470475

476+
def stop_server(self):
477+
self.server.stop()
478+
self.server = None
479+
471480
def start_server(self, responses=None):
472481
if responses is None:
473482
responses = [(200, [], b"we don't care")]
474483
handler = GetRequestHandler(responses)
475484

476485
self.server = LoopbackHttpServerThread(handler)
477-
self.addCleanup(self.server.stop)
486+
self.addCleanup(self.stop_server)
478487
self.server.start()
479488
self.server.ready.wait()
480489
port = self.server.port

0 commit comments

Comments
 (0)