changeset: 102617:7ff3ce0dfd45 parent: 102613:05120447f2c6 parent: 102615:f78a682a3515 user: Martin Panter date: Fri Aug 12 12:04:27 2016 +0000 description: Issue #26741: Merge ResourceWarning fixes from 3.5 diff -r 05120447f2c6 -r 7ff3ce0dfd45 Lib/test/test_httplib.py --- a/Lib/test/test_httplib.py Thu Aug 11 11:01:45 2016 -0400 +++ b/Lib/test/test_httplib.py Fri Aug 12 12:04:27 2016 +0000 @@ -1402,6 +1402,7 @@ 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 @@ 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 @@ h.request('GET', '/') resp = h.getresponse() server_string = resp.getheader('server') + resp.close() h.close() self.assertIn('nginx', server_string) @@ -1460,8 +1463,10 @@ 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 @@ 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, diff -r 05120447f2c6 -r 7ff3ce0dfd45 Lib/test/test_poll.py --- a/Lib/test/test_poll.py Thu Aug 11 11:01:45 2016 -0400 +++ b/Lib/test/test_poll.py Fri Aug 12 12:04:27 2016 +0000 @@ -125,6 +125,8 @@ 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 @@ continue else: self.fail('Unexpected return value from select.poll: %s' % fdlist) - p.close() def test_poll3(self): # test int overflow