bpo-31259: test_urllib2_localnet uses addCleanup(server.stop) (#3186) · python/cpython@468534d
@@ -289,11 +289,15 @@ def setUp(self):
289289def http_server_with_basic_auth_handler(*args, **kwargs):
290290return BasicAuthHandler(*args, **kwargs)
291291self.server = LoopbackHttpServerThread(http_server_with_basic_auth_handler)
292-self.addCleanup(self.server.stop)
292+self.addCleanup(self.stop_server)
293293self.server_url = 'http://127.0.0.1:%s' % self.server.port
294294self.server.start()
295295self.server.ready.wait()
296296297+def stop_server(self):
298+self.server.stop()
299+self.server = None
300+297301def tearDown(self):
298302super(BasicAuthTests, self).tearDown()
299303@@ -339,6 +343,7 @@ def create_fake_proxy_handler(*args, **kwargs):
339343return FakeProxyHandler(self.digest_auth_handler, *args, **kwargs)
340344341345self.server = LoopbackHttpServerThread(create_fake_proxy_handler)
346+self.addCleanup(self.stop_server)
342347self.server.start()
343348self.server.ready.wait()
344349proxy_url = "http://127.0.0.1:%d" % self.server.port
@@ -347,9 +352,9 @@ def create_fake_proxy_handler(*args, **kwargs):
347352self.opener = urllib.request.build_opener(
348353handler, self.proxy_digest_handler)
349354350-def tearDown(self):
355+def stop_server(self):
351356self.server.stop()
352-super(ProxyAuthTests, self).tearDown()
357+self.server = None
353358354359def test_proxy_with_bad_password_raises_httperror(self):
355360self.proxy_digest_handler.add_password(self.REALM, self.URL,
@@ -468,13 +473,17 @@ def urlopen(self, url, data=None, **kwargs):
468473f.close()
469474return b"".join(l)
470475476+def stop_server(self):
477+self.server.stop()
478+self.server = None
479+471480def start_server(self, responses=None):
472481if responses is None:
473482responses = [(200, [], b"we don't care")]
474483handler = GetRequestHandler(responses)
475484476485self.server = LoopbackHttpServerThread(handler)
477-self.addCleanup(self.server.stop)
486+self.addCleanup(self.stop_server)
478487self.server.start()
479488self.server.ready.wait()
480489port = self.server.port
@@ -664,7 +673,7 @@ def setUpModule():
664673665674def tearDownModule():
666675if threads_key:
667-support.threading_cleanup(threads_key)
676+support.threading_cleanup(*threads_key)
668677669678if __name__ == "__main__":
670679unittest.main()