[Python-checkins] r80237 - in python/branches/release26-maint: Lib/test/test_urllib2net.py

senthil.kumaran python-checkins at python.org
Tue Apr 20 09:06:45 CEST 2010


Author: senthil.kumaran
Date: Tue Apr 20 09:06:45 2010
New Revision: 80237

Log:
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.
........


Modified:
   python/branches/release26-maint/   (props changed)
   python/branches/release26-maint/Lib/test/test_urllib2net.py

Modified: python/branches/release26-maint/Lib/test/test_urllib2net.py
==============================================================================
--- python/branches/release26-maint/Lib/test/test_urllib2net.py	(original)
+++ python/branches/release26-maint/Lib/test/test_urllib2net.py	Tue Apr 20 09:06:45 2010
@@ -8,7 +8,9 @@
 import urllib2
 import sys
 import os
-import mimetools
+import sys
+
+TIMEOUT = 60  # seconds
 
 
 def _retry_thrice(func, exc, *args, **kwargs):
@@ -170,18 +172,27 @@
                 req = expected_err = None
             debug(url)
             try:
-                f = urlopen(url, req)
+                f = urlopen(url, req, TIMEOUT)
             except EnvironmentError, err:
                 debug(err)
                 if expected_err:
                     msg = ("Didn't get expected error(s) %s for %s %s, got %s: %s" %
                            (expected_err, url, req, type(err), err))
                     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:
+                    raise
             else:
-                with test_support.transient_internet():
-                    buf = f.read()
+                try:
+                    with test_support.transient_internet():
+                        buf = f.read()
+                        debug("read %d bytes" % len(buf))
+                except socket.timeout:
+                    print >>sys.stderr, "<timeout: %s>" % url
                 f.close()
-                debug("read %d bytes" % len(buf))
             debug("******** next url coming up...")
             time.sleep(0.1)
 


More information about the Python-checkins mailing list