Issue #26295: When using "python3 -m test --testdir=TESTDIR", regrtest doesn't
add "test." prefix to test module names.
regrtest also prepends testdir to sys.path.
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 @@
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 @@
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 @@
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