mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 21:51:50 +00:00 
			
		
		
		
	Issue #16723: httplib.HTTPResponse no longer marked closed when the connection
is automatically closed.
This commit is contained in:
		
							parent
							
								
									f581b37200
								
							
						
					
					
						commit
						b5b9c8cd40
					
				
					 3 changed files with 39 additions and 15 deletions
				
			
		|  | @ -164,6 +164,9 @@ def test_status_lines(self): | |||
|         resp.begin() | ||||
|         self.assertEqual(resp.read(), b"Text") | ||||
|         self.assertTrue(resp.isclosed()) | ||||
|         self.assertFalse(resp.closed) | ||||
|         resp.close() | ||||
|         self.assertTrue(resp.closed) | ||||
| 
 | ||||
|         body = "HTTP/1.1 400.100 Not Ok\r\n\r\nText" | ||||
|         sock = FakeSocket(body) | ||||
|  | @ -185,6 +188,9 @@ def test_partial_reads(self): | |||
|         self.assertFalse(resp.isclosed()) | ||||
|         self.assertEqual(resp.read(2), b'xt') | ||||
|         self.assertTrue(resp.isclosed()) | ||||
|         self.assertFalse(resp.closed) | ||||
|         resp.close() | ||||
|         self.assertTrue(resp.closed) | ||||
| 
 | ||||
|     def test_partial_reads_no_content_length(self): | ||||
|         # when no length is present, the socket should be gracefully closed when | ||||
|  | @ -198,6 +204,9 @@ def test_partial_reads_no_content_length(self): | |||
|         self.assertEqual(resp.read(2), b'xt') | ||||
|         self.assertEqual(resp.read(1), b'') | ||||
|         self.assertTrue(resp.isclosed()) | ||||
|         self.assertFalse(resp.closed) | ||||
|         resp.close() | ||||
|         self.assertTrue(resp.closed) | ||||
| 
 | ||||
|     def test_partial_reads_incomplete_body(self): | ||||
|         # if the server shuts down the connection before the whole | ||||
|  | @ -211,6 +220,9 @@ def test_partial_reads_incomplete_body(self): | |||
|         self.assertEqual(resp.read(2), b'xt') | ||||
|         self.assertEqual(resp.read(1), b'') | ||||
|         self.assertTrue(resp.isclosed()) | ||||
|         self.assertFalse(resp.closed) | ||||
|         resp.close() | ||||
|         self.assertTrue(resp.closed) | ||||
| 
 | ||||
|     def test_host_port(self): | ||||
|         # Check invalid host_port | ||||
|  | @ -355,6 +367,9 @@ def test_chunked_head(self): | |||
|         self.assertEqual(resp.status, 200) | ||||
|         self.assertEqual(resp.reason, 'OK') | ||||
|         self.assertTrue(resp.isclosed()) | ||||
|         self.assertFalse(resp.closed) | ||||
|         resp.close() | ||||
|         self.assertTrue(resp.closed) | ||||
| 
 | ||||
|     def test_negative_content_length(self): | ||||
|         sock = FakeSocket( | ||||
|  | @ -430,6 +445,9 @@ def test_early_eof(self): | |||
|         resp.begin() | ||||
|         self.assertEqual(resp.read(), b'') | ||||
|         self.assertTrue(resp.isclosed()) | ||||
|         self.assertFalse(resp.closed) | ||||
|         resp.close() | ||||
|         self.assertTrue(resp.closed) | ||||
| 
 | ||||
| class OfflineTest(TestCase): | ||||
|     def test_responses(self): | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Serhiy Storchaka
						Serhiy Storchaka