mirror of
https://github.com/python/cpython.git
synced 2025-12-15 21:44:50 +00:00
Fix a bug in test.test_support.open_urlresource().
If the call to requires() doesn't precede the filesystem check, we get the following situation: 1. ./python Lib/test/regrtest.py test_foo # test needs urlfetch, not enabled, so skipped 2. ./python Lib/test/regrtest.py -u urlfetch test_foo # test runs 3. ./python Lib/test/regrtest.py test_foo # test runs (!) By moving the call to requires() *before* the filesystem check, the fact that fetched files are cached on the local disk becomes an implementation detail, rather than a semantics-changing point of note.
This commit is contained in:
parent
abe1d48d20
commit
fa9be8c289
1 changed files with 1 additions and 1 deletions
|
|
@ -259,6 +259,7 @@ def check_syntax_error(testcase, statement):
|
|||
def open_urlresource(url):
|
||||
import urllib, urlparse
|
||||
|
||||
requires('urlfetch')
|
||||
filename = urlparse.urlparse(url)[2].split('/')[-1] # '/': it's URL!
|
||||
|
||||
for path in [os.path.curdir, os.path.pardir]:
|
||||
|
|
@ -266,7 +267,6 @@ def open_urlresource(url):
|
|||
if os.path.exists(fn):
|
||||
return open(fn)
|
||||
|
||||
requires('urlfetch')
|
||||
print >> get_original_stdout(), '\tfetching %s ...' % url
|
||||
fn, _ = urllib.urlretrieve(url, filename)
|
||||
return open(fn)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue