mirror of https://github.com/python/cpython
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.
This commit is contained in:
parent
7f24a98a9a
commit
9759dd3343
|
@ -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
|
||||
|
|
|
@ -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().
|
||||
|
|
Loading…
Reference in New Issue