Commit 378e6db8 authored by Senthil Kumaran's avatar Senthil Kumaran

Merged revisions 85630 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85630 | senthil.kumaran | 2010-10-17 16:22:12 +0530 (Sun, 17 Oct 2010) | 3 lines

  Fix Issue10119 - test_urllibnet failure when using support.transient_internet.
........
parent 397cd8a1
...@@ -11,21 +11,6 @@ import email.message ...@@ -11,21 +11,6 @@ import email.message
import time 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): class URLTimeoutTest(unittest.TestCase):
TIMEOUT = 10.0 TIMEOUT = 10.0
...@@ -37,7 +22,8 @@ class URLTimeoutTest(unittest.TestCase): ...@@ -37,7 +22,8 @@ class URLTimeoutTest(unittest.TestCase):
socket.setdefaulttimeout(None) socket.setdefaulttimeout(None)
def testURLread(self): 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() x = f.read()
class urlopenNetworkTests(unittest.TestCase): class urlopenNetworkTests(unittest.TestCase):
...@@ -55,8 +41,10 @@ class urlopenNetworkTests(unittest.TestCase): ...@@ -55,8 +41,10 @@ class urlopenNetworkTests(unittest.TestCase):
""" """
def urlopen(self, *args): def urlopen(self, *args, **kwargs):
return _open_with_retry(urllib.request.urlopen, *args) resource = args[0]
with support.transient_internet(resource):
return urllib.request.urlopen(*args, **kwargs)
def test_basic(self): def test_basic(self):
# Simple test expected to pass. # Simple test expected to pass.
...@@ -119,7 +107,7 @@ class urlopenNetworkTests(unittest.TestCase): ...@@ -119,7 +107,7 @@ class urlopenNetworkTests(unittest.TestCase):
# test can't pass on Windows. # test can't pass on Windows.
return return
# Make sure fd returned by fileno is valid. # 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() fd = open_url.fileno()
FILE = os.fdopen(fd, encoding='utf-8') FILE = os.fdopen(fd, encoding='utf-8')
try: try:
...@@ -146,7 +134,9 @@ class urlretrieveNetworkTests(unittest.TestCase): ...@@ -146,7 +134,9 @@ class urlretrieveNetworkTests(unittest.TestCase):
"""Tests urllib.request.urlretrieve using the network.""" """Tests urllib.request.urlretrieve using the network."""
def urlretrieve(self, *args): 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): def test_basic(self):
# Test basic functionality. # Test basic functionality.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment