Commit ff6382b4 authored by Nick Coghlan's avatar Nick Coghlan

Merge #18952 fix from 3.3

parents 68d7f787 0494c2ae
...@@ -263,12 +263,15 @@ The :mod:`test.support` module defines the following functions: ...@@ -263,12 +263,15 @@ The :mod:`test.support` module defines the following functions:
Used when tests are executed by :mod:`test.regrtest`. Used when tests are executed by :mod:`test.regrtest`.
.. function:: findfile(filename) .. function:: findfile(filename, subdir=None)
Return the path to the file named *filename*. If no match is found Return the path to the file named *filename*. If no match is found
*filename* is returned. This does not equal a failure since it could be the *filename* is returned. This does not equal a failure since it could be the
path to the file. path to the file.
Setting *subdir* indicates a relative path to use to find the file
rather than looking directly in the path directories.
.. function:: run_unittest(\*classes) .. function:: run_unittest(\*classes)
......
...@@ -860,24 +860,31 @@ if hasattr(os, "umask"): ...@@ -860,24 +860,31 @@ if hasattr(os, "umask"):
finally: finally:
os.umask(oldmask) os.umask(oldmask)
# TEST_HOME refers to the top level directory of the "test" package # TEST_HOME_DIR refers to the top level directory of the "test" package
# that contains Python's regression test suite # that contains Python's regression test suite
TEST_HOME = os.path.dirname(os.path.abspath(__file__)) TEST_SUPPORT_DIR = os.path.dirname(os.path.abspath(__file__))
TEST_HOME_DIR = os.path.dirname(TEST_SUPPORT_DIR)
def findfile(file, here=TEST_HOME, subdir=None): # TEST_DATA_DIR is used as a target download location for remote resources
TEST_DATA_DIR = os.path.join(TEST_HOME_DIR, "data")
def findfile(filename, subdir=None):
"""Try to find a file on sys.path or in the test directory. If it is not """Try to find a file on sys.path or in the test directory. If it is not
found the argument passed to the function is returned (this does not found the argument passed to the function is returned (this does not
necessarily signal failure; could still be the legitimate path).""" necessarily signal failure; could still be the legitimate path).
if os.path.isabs(file):
return file Setting *subdir* indicates a relative path to use to find the file
rather than looking directly in the path directories.
"""
if os.path.isabs(filename):
return filename
if subdir is not None: if subdir is not None:
file = os.path.join(subdir, file) filename = os.path.join(subdir, filename)
path = sys.path path = [TEST_HOME_DIR] + sys.path
path = [os.path.dirname(here)] + path
for dn in path: for dn in path:
fn = os.path.join(dn, file) fn = os.path.join(dn, filename)
if os.path.exists(fn): return fn if os.path.exists(fn): return fn
return file return filename
def create_empty_file(filename): def create_empty_file(filename):
"""Create an empty file. If the file already exists, truncate it.""" """Create an empty file. If the file already exists, truncate it."""
...@@ -914,7 +921,7 @@ def open_urlresource(url, *args, **kw): ...@@ -914,7 +921,7 @@ def open_urlresource(url, *args, **kw):
filename = urllib.parse.urlparse(url)[2].split('/')[-1] # '/': it's URL! filename = urllib.parse.urlparse(url)[2].split('/')[-1] # '/': it's URL!
fn = os.path.join(os.path.dirname(__file__), "data", filename) fn = os.path.join(TEST_DATA_DIR, filename)
def check_valid_file(fn): def check_valid_file(fn):
f = open(fn, *args, **kw) f = open(fn, *args, **kw)
......
...@@ -2,6 +2,19 @@ ...@@ -2,6 +2,19 @@
Python News Python News
+++++++++++ +++++++++++
What's New in Python 3.4.0 Alpha 3?
===================================
Projected Release date: 2013-10-XX
Tests
-----
- Issue #18952: Fix regression in support data downloads introduced when
test.support was converted to a package. Regression noticed by Zachary
Ware.
What's New in Python 3.4.0 Alpha 2? What's New in Python 3.4.0 Alpha 2?
=================================== ===================================
......
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