Issue #23387: Skip test_issue16464 if it raises an 5xx error.
Also, remove support.run_doctest() since there is no doctests in test_urllib2 and urllib.request.
This commit is contained in:
commit
fc080fcc7c
|
@ -1325,6 +1325,8 @@ def transient_internet(resource_name, *, timeout=30.0, errnos=()):
|
|||
n = getattr(err, 'errno', None)
|
||||
if (isinstance(err, socket.timeout) or
|
||||
(isinstance(err, socket.gaierror) and n in gai_errnos) or
|
||||
(isinstance(err, urllib.error.HTTPError) and
|
||||
500 <= err.code <= 599) or
|
||||
(isinstance(err, urllib.error.URLError) and
|
||||
"ConnectionRefusedError" in err.reason) or
|
||||
n in captured_errnos):
|
||||
|
|
|
@ -1484,17 +1484,18 @@ class MiscTests(unittest.TestCase):
|
|||
@unittest.skipUnless(support.is_resource_enabled('network'),
|
||||
'test requires network access')
|
||||
def test_issue16464(self):
|
||||
opener = urllib.request.build_opener()
|
||||
request = urllib.request.Request("http://www.example.com/")
|
||||
self.assertEqual(None, request.data)
|
||||
with support.transient_internet("http://www.example.com/"):
|
||||
opener = urllib.request.build_opener()
|
||||
request = urllib.request.Request("http://www.example.com/")
|
||||
self.assertEqual(None, request.data)
|
||||
|
||||
opener.open(request, "1".encode("us-ascii"))
|
||||
self.assertEqual(b"1", request.data)
|
||||
self.assertEqual("1", request.get_header("Content-length"))
|
||||
opener.open(request, "1".encode("us-ascii"))
|
||||
self.assertEqual(b"1", request.data)
|
||||
self.assertEqual("1", request.get_header("Content-length"))
|
||||
|
||||
opener.open(request, "1234567890".encode("us-ascii"))
|
||||
self.assertEqual(b"1234567890", request.data)
|
||||
self.assertEqual("10", request.get_header("Content-length"))
|
||||
opener.open(request, "1234567890".encode("us-ascii"))
|
||||
self.assertEqual(b"1234567890", request.data)
|
||||
self.assertEqual("10", request.get_header("Content-length"))
|
||||
|
||||
def test_HTTPError_interface(self):
|
||||
"""
|
||||
|
@ -1645,17 +1646,6 @@ class RequestTests(unittest.TestCase):
|
|||
req = Request(url)
|
||||
self.assertEqual(req.get_full_url(), req.full_url)
|
||||
|
||||
def test_main(verbose=None):
|
||||
from test import test_urllib2
|
||||
support.run_doctest(test_urllib2, verbose)
|
||||
support.run_doctest(urllib.request, verbose)
|
||||
tests = (TrivialTests,
|
||||
OpenerDirectorTests,
|
||||
HandlerTests,
|
||||
MiscTests,
|
||||
RequestTests,
|
||||
RequestHdrsTests)
|
||||
support.run_unittest(*tests)
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_main(verbose=True)
|
||||
unittest.main()
|
||||
|
|
Loading…
Reference in New Issue