Mercurial > public > mercurial-scm > hg
comparison mercurial/httpclient/tests/simple_http_test.py @ 15218:c81dce8a7bb6
httpclient: update to 07d8c356f4d1 of py-nonblocking-http
This addresses a defect when the server closes the socket before
finishing a response (if it crashes, for example) first spotted in
Issue2951.
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Mon, 10 Oct 2011 17:57:40 -0500 |
parents | a75e0f4ba0ab |
children | 24dbef11f477 |
comparison
equal
deleted
inserted
replaced
15217:42d0d4f63bf0 | 15218:c81dce8a7bb6 |
---|---|
378 self.assertFalse(con.sock.closed) | 378 self.assertFalse(con.sock.closed) |
379 self.assert_(con.sock.remote_closed) | 379 self.assert_(con.sock.remote_closed) |
380 con.request('GET', '/') | 380 con.request('GET', '/') |
381 self.assertEqual(2, len(sockets)) | 381 self.assertEqual(2, len(sockets)) |
382 | 382 |
383 def test_server_closes_before_end_of_body(self): | |
384 con = http.HTTPConnection('1.2.3.4:80') | |
385 con._connect() | |
386 s = con.sock | |
387 s.data = ['HTTP/1.1 200 OK\r\n', | |
388 'Server: BogusServer 1.0\r\n', | |
389 'Connection: Keep-Alive\r\n', | |
390 'Content-Length: 16', | |
391 '\r\n\r\n', | |
392 'You can '] # Note: this is shorter than content-length | |
393 s.close_on_empty = True | |
394 con.request('GET', '/') | |
395 r1 = con.getresponse() | |
396 self.assertRaises(http.HTTPRemoteClosedError, r1.read) | |
397 | |
383 def test_no_response_raises_response_not_ready(self): | 398 def test_no_response_raises_response_not_ready(self): |
384 con = http.HTTPConnection('foo') | 399 con = http.HTTPConnection('foo') |
385 self.assertRaises(http.httplib.ResponseNotReady, con.getresponse) | 400 self.assertRaises(http.httplib.ResponseNotReady, con.getresponse) |
386 # no-check-code | 401 # no-check-code |