summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_support.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py
index c9fb092..d4b891e 100644
--- a/Lib/test/test_support.py
+++ b/Lib/test/test_support.py
@@ -378,7 +378,7 @@ def check_syntax_error(testcase, statement):
testcase.fail('Missing SyntaxError: "%s"' % statement)
def open_urlresource(url):
- import urllib, urlparse
+ import urlparse, urllib2
requires('urlfetch')
filename = urlparse.urlparse(url)[2].split('/')[-1] # '/': it's URL!
@@ -389,8 +389,16 @@ def open_urlresource(url):
return open(fn)
print >> get_original_stdout(), '\tfetching %s ...' % url
- fn, _ = urllib.urlretrieve(url, filename)
- return open(fn)
+ f = urllib2.urlopen(url, timeout=15)
+ try:
+ with open(filename, "wb") as out:
+ s = f.read()
+ while s:
+ out.write(s)
+ s = f.read()
+ finally:
+ f.close()
+ return open(filename)
class WarningsRecorder(object):