diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py index 7bfa12c2d053..0ef2e8ac775f 100644 --- a/Lib/test/support/__init__.py +++ b/Lib/test/support/__init__.py @@ -1325,6 +1325,8 @@ def filter_error(err): 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): diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py index 3182390c4274..36d7e872187e 100644 --- a/Lib/test/test_urllib2.py +++ b/Lib/test/test_urllib2.py @@ -1484,17 +1484,18 @@ class MyOtherHTTPHandler(urllib.request.HTTPHandler): pass @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 @@ def test_url_fullurl_get_full_url(self): 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()