]> granicus.if.org Git - python/commitdiff
Issue #26295: When using "python3 -m test --testdir=TESTDIR", regrtest doesn't
authorVictor Stinner <victor.stinner@gmail.com>
Wed, 30 Mar 2016 00:32:52 +0000 (02:32 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Wed, 30 Mar 2016 00:32:52 +0000 (02:32 +0200)
add "test." prefix to test module names.

regrtest also prepends testdir to sys.path.

Lib/test/libregrtest/runtest.py
Lib/test/libregrtest/setup.py
Misc/NEWS

index daff4766c27a7bb1a152838c12e8cdd5becc60f7..601f2b26ecfa07faf409f43b2ce8bfbc83ed7e82 100644 (file)
@@ -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
index de52bb5e7811bdc3445df7addd17098151274fb7..1d24531fc26ec544e5f15e3e5cb89e94544b1009 100644 (file)
@@ -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().
index 73c355d88f696810b5d59a3cda529fc2bcfde607..34ef0cd6b01640c3c156fc2713db4c6c00b3b8d2 100644 (file)
--- 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.