summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/libregrtest/runtest.py8
-rw-r--r--Lib/test/libregrtest/setup.py5
-rw-r--r--Misc/NEWS3
3 files changed, 12 insertions, 4 deletions
diff --git a/Lib/test/libregrtest/runtest.py b/Lib/test/libregrtest/runtest.py
index daff476..601f2b2 100644
--- a/Lib/test/libregrtest/runtest.py
+++ b/Lib/test/libregrtest/runtest.py
@@ -116,7 +116,7 @@ def runtest(ns, test):
try:
sys.stdout = stream
sys.stderr = stream
- result = runtest_inner(test, verbose, quiet, huntrleaks,
+ result = runtest_inner(ns, test, verbose, quiet, huntrleaks,
display_failure=False, pgo=pgo)
if result[0] == FAILED:
output = stream.getvalue()
@@ -127,7 +127,7 @@ def runtest(ns, test):
sys.stderr = orig_stderr
else:
support.verbose = verbose # Tell tests to be moderately quiet
- result = runtest_inner(test, verbose, quiet, huntrleaks,
+ result = runtest_inner(ns, test, verbose, quiet, huntrleaks,
display_failure=not verbose, pgo=pgo)
return result
finally:
@@ -137,14 +137,14 @@ def runtest(ns, test):
runtest.stringio = None
-def runtest_inner(test, verbose, quiet,
+def runtest_inner(ns, test, verbose, quiet,
huntrleaks=False, display_failure=True, *, pgo=False):
support.unload(test)
test_time = 0.0
refleak = False # True if the test leaked references.
try:
- if test.startswith('test.'):
+ if test.startswith('test.') or ns.testdir:
abstest = test
else:
# Always import it from the test package
diff --git a/Lib/test/libregrtest/setup.py b/Lib/test/libregrtest/setup.py
index de52bb5..1d24531 100644
--- a/Lib/test/libregrtest/setup.py
+++ b/Lib/test/libregrtest/setup.py
@@ -29,6 +29,11 @@ def setup_tests(ns):
replace_stdout()
support.record_original_stdout(sys.stdout)
+ if ns.testdir:
+ # Prepend test directory to sys.path, so runtest() will be able
+ # to locate tests
+ sys.path.insert(0, os.path.abspath(ns.testdir))
+
# Some times __path__ and __file__ are not absolute (e.g. while running from
# Lib/) and, if we change the CWD to run the tests in a temporary dir, some
# imports might fail. This affects only the modules imported before os.chdir().
diff --git a/Misc/NEWS b/Misc/NEWS
index 73c355d..34ef0cd 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -879,6 +879,9 @@ Documentation
Tests
-----
+- Issue #26295: When using "python3 -m test --testdir=TESTDIR", regrtest
+ doesn't add "test." prefix to test module names.
+
- Issue #26523: The multiprocessing thread pool (multiprocessing.dummy.Pool)
was untested.