From b63c56077ff2e960c17f2d4ae9813b5a12c71130 Mon Sep 17 00:00:00 2001 From: Martin Panter Date: Fri, 12 Aug 2016 11:59:52 +0000 Subject: Close HTTP connections and responses in tests to avoid ResourceWarnings --- Lib/test/test_httplib.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_httplib.py b/Lib/test/test_httplib.py index 329f068..f45e352 100644 --- a/Lib/test/test_httplib.py +++ b/Lib/test/test_httplib.py @@ -1402,6 +1402,7 @@ class HTTPSTest(TestCase): resp = h.getresponse() h.close() self.assertIn('nginx', resp.getheader('server')) + resp.close() @support.system_must_validate_cert def test_networked_trusted_by_default_cert(self): @@ -1412,6 +1413,7 @@ class HTTPSTest(TestCase): h.request('GET', '/') resp = h.getresponse() content_type = resp.getheader('content-type') + resp.close() h.close() self.assertIn('text/html', content_type) @@ -1427,6 +1429,7 @@ class HTTPSTest(TestCase): h.request('GET', '/') resp = h.getresponse() server_string = resp.getheader('server') + resp.close() h.close() self.assertIn('nginx', server_string) @@ -1460,8 +1463,10 @@ class HTTPSTest(TestCase): context.verify_mode = ssl.CERT_REQUIRED context.load_verify_locations(CERT_localhost) h = client.HTTPSConnection('localhost', server.port, context=context) + self.addCleanup(h.close) h.request('GET', '/nonexistent') resp = h.getresponse() + self.addCleanup(resp.close) self.assertEqual(resp.status, 404) def test_local_bad_hostname(self): @@ -1486,13 +1491,18 @@ class HTTPSTest(TestCase): check_hostname=False) h.request('GET', '/nonexistent') resp = h.getresponse() + resp.close() + h.close() self.assertEqual(resp.status, 404) # The context's check_hostname setting is used if one isn't passed to # HTTPSConnection. context.check_hostname = False h = client.HTTPSConnection('localhost', server.port, context=context) h.request('GET', '/nonexistent') - self.assertEqual(h.getresponse().status, 404) + resp = h.getresponse() + self.assertEqual(resp.status, 404) + resp.close() + h.close() # Passing check_hostname to HTTPSConnection should override the # context's setting. h = client.HTTPSConnection('localhost', server.port, context=context, -- cgit v0.12 From 3cf0b2515ba8cfc855ac9a56a0b4545372157176 Mon Sep 17 00:00:00 2001 From: Martin Panter Date: Fri, 12 Aug 2016 11:59:52 +0000 Subject: Issue #26741: Clean up subprocess.Popen object in test_poll --- Lib/test/test_poll.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_poll.py b/Lib/test/test_poll.py index a0a332b..6a2bf6e 100644 --- a/Lib/test/test_poll.py +++ b/Lib/test/test_poll.py @@ -125,6 +125,8 @@ class PollTests(unittest.TestCase): cmd = 'for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; done' proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, bufsize=0) + proc.__enter__() + self.addCleanup(proc.__exit__, None, None, None) p = proc.stdout pollster = select.poll() pollster.register( p, select.POLLIN ) @@ -147,7 +149,6 @@ class PollTests(unittest.TestCase): continue else: self.fail('Unexpected return value from select.poll: %s' % fdlist) - p.close() def test_poll3(self): # test int overflow -- cgit v0.12