Issue #15494: test.support is now a package rather than a module
Also including this change in 3.3 to help avoid spurious conflicts
between the two most active branches.
(Initial patch by Indra Talip)
diff --git a/Lib/test/support.py b/Lib/test/support/__init__.py
similarity index 98%
rename from Lib/test/support.py
rename to Lib/test/support/__init__.py
index 7ab5ff7..3ebc49d 100644
--- a/Lib/test/support.py
+++ b/Lib/test/support/__init__.py
@@ -787,9 +787,12 @@
finally:
os.umask(oldmask)
+# TEST_HOME refers to the top level directory of the "test" package
+# that contains Python's regression test suite
+TEST_HOME = os.path.dirname(os.path.abspath(__file__))
-def findfile(file, here=__file__, subdir=None):
- """Try to find a file on sys.path and the working directory. If it is not
+def findfile(file, here=TEST_HOME, subdir=None):
+ """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
necessarily signal failure; could still be the legitimate path)."""
if os.path.isabs(file):
diff --git a/Lib/test/test_linecache.py b/Lib/test/test_linecache.py
index 7d14534..5fe0554 100644
--- a/Lib/test/test_linecache.py
+++ b/Lib/test/test_linecache.py
@@ -11,7 +11,7 @@
EMPTY = ''
TESTS = 'inspect_fodder inspect_fodder2 mapping_tests'
TESTS = TESTS.split()
-TEST_PATH = os.path.dirname(support.__file__)
+TEST_PATH = os.path.dirname(__file__)
MODULES = "linecache abc".split()
MODULE_PATH = os.path.dirname(FILENAME)