diff options
author | Senthil Kumaran <orsenthil@gmail.com> | 2010-10-17 10:52:12 (GMT) |
---|---|---|
committer | Senthil Kumaran <orsenthil@gmail.com> | 2010-10-17 10:52:12 (GMT) |
commit | ee2538beefa10847ed8a190b25a18a5840e334c3 (patch) | |
tree | ab6dc2a809fb690d92800be180f64d97da20bdc2 /Lib/test/test_urllibnet.py | |
parent | 6f4e68d82c2009c2a297f25a8a4896f0d1a8e66d (diff) | |
download | cpython-ee2538beefa10847ed8a190b25a18a5840e334c3.zip cpython-ee2538beefa10847ed8a190b25a18a5840e334c3.tar.gz cpython-ee2538beefa10847ed8a190b25a18a5840e334c3.tar.bz2 |
Fix Issue10119 - test_urllibnet failure when using support.transient_internet.
Diffstat (limited to 'Lib/test/test_urllibnet.py')
-rw-r--r-- | Lib/test/test_urllibnet.py | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/Lib/test/test_urllibnet.py b/Lib/test/test_urllibnet.py index c2388b8..1d50207 100644 --- a/Lib/test/test_urllibnet.py +++ b/Lib/test/test_urllibnet.py @@ -11,21 +11,6 @@ import email.message import time -def _open_with_retry(func, host, *args, **kwargs): - # Connecting to remote hosts is flaky. Make it more robust - # by retrying the connection several times. - last_exc = None - for i in range(3): - try: - return func(host, *args, **kwargs) - except IOError as err: - last_exc = err - continue - except: - raise - raise last_exc - - class URLTimeoutTest(unittest.TestCase): TIMEOUT = 10.0 @@ -37,7 +22,8 @@ class URLTimeoutTest(unittest.TestCase): socket.setdefaulttimeout(None) def testURLread(self): - f = _open_with_retry(urllib.request.urlopen, "http://www.python.org/") + with support.transient_internet("www.python.org"): + f = urllib.request.urlopen("http://www.python.org/") x = f.read() class urlopenNetworkTests(unittest.TestCase): @@ -55,8 +41,10 @@ class urlopenNetworkTests(unittest.TestCase): """ - def urlopen(self, *args): - return _open_with_retry(urllib.request.urlopen, *args) + def urlopen(self, *args, **kwargs): + resource = args[0] + with support.transient_internet(resource): + return urllib.request.urlopen(*args, **kwargs) def test_basic(self): # Simple test expected to pass. @@ -119,7 +107,7 @@ class urlopenNetworkTests(unittest.TestCase): # test can't pass on Windows. return # Make sure fd returned by fileno is valid. - open_url = self.urlopen("http://www.python.org/") + open_url = self.urlopen("http://www.python.org/", timeout=None) fd = open_url.fileno() FILE = os.fdopen(fd, encoding='utf-8') try: @@ -146,7 +134,9 @@ class urlretrieveNetworkTests(unittest.TestCase): """Tests urllib.request.urlretrieve using the network.""" def urlretrieve(self, *args): - return _open_with_retry(urllib.request.urlretrieve, *args) + resource = args[0] + with support.transient_internet(resource): + return urllib.request.urlretrieve(*args) def test_basic(self): # Test basic functionality. |