summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_urllibnet.py
diff options
context:
space:
mode:
authorSenthil Kumaran <orsenthil@gmail.com>2010-10-17 10:52:12 (GMT)
committerSenthil Kumaran <orsenthil@gmail.com>2010-10-17 10:52:12 (GMT)
commitee2538beefa10847ed8a190b25a18a5840e334c3 (patch)
treeab6dc2a809fb690d92800be180f64d97da20bdc2 /Lib/test/test_urllibnet.py
parent6f4e68d82c2009c2a297f25a8a4896f0d1a8e66d (diff)
downloadcpython-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.py30
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.