Merged revisions 80236 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80236 | senthil.kumaran | 2010-04-20 12:24:59 +0530 (Tue, 20 Apr 2010) | 3 lines

  Fix Issue8460: Victor's patch to add timeout in test_urllib2net test_urls.
........
This commit is contained in:
Senthil Kumaran 2010-04-20 07:06:45 +00:00
parent 6f76187fb2
commit c00deec386
1 changed files with 16 additions and 5 deletions

View File

@ -8,7 +8,9 @@ import socket
import urllib2 import urllib2
import sys import sys
import os import os
import mimetools import sys
TIMEOUT = 60 # seconds
def _retry_thrice(func, exc, *args, **kwargs): def _retry_thrice(func, exc, *args, **kwargs):
@ -170,18 +172,27 @@ class OtherNetworkTests(unittest.TestCase):
req = expected_err = None req = expected_err = None
debug(url) debug(url)
try: try:
f = urlopen(url, req) f = urlopen(url, req, TIMEOUT)
except EnvironmentError, err: except EnvironmentError, err:
debug(err) debug(err)
if expected_err: if expected_err:
msg = ("Didn't get expected error(s) %s for %s %s, got %s: %s" % msg = ("Didn't get expected error(s) %s for %s %s, got %s: %s" %
(expected_err, url, req, type(err), err)) (expected_err, url, req, type(err), err))
self.assert_(isinstance(err, expected_err), msg) self.assert_(isinstance(err, expected_err), msg)
except urllib2.URLError as err:
if isinstance(err[0], socket.timeout):
print >>sys.stderr, "<timeout: %s>" % url
continue
else: else:
raise
else:
try:
with test_support.transient_internet(): with test_support.transient_internet():
buf = f.read() buf = f.read()
f.close()
debug("read %d bytes" % len(buf)) debug("read %d bytes" % len(buf))
except socket.timeout:
print >>sys.stderr, "<timeout: %s>" % url
f.close()
debug("******** next url coming up...") debug("******** next url coming up...")
time.sleep(0.1) time.sleep(0.1)