]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-109402: Fix regrtest findtests() (#109403)
authorVictor Stinner <vstinner@python.org>
Thu, 14 Sep 2023 13:15:42 +0000 (15:15 +0200)
committerGitHub <noreply@github.com>
Thu, 14 Sep 2023 13:15:42 +0000 (13:15 +0000)
Check for the full module name in SPLITTESTDIRS, not the relative
module name.

Lib/test/libregrtest/findtests.py

index f4a8b9ae26ae658da7c186680af5f05d5ae6ed98..af89982d498cf4222329112a43fd9a5b53633c7b 100644 (file)
@@ -38,14 +38,19 @@ def findtests(*, testdir: StrPath | None = None, exclude=(),
         mod, ext = os.path.splitext(name)
         if (not mod.startswith("test_")) or (mod in exclude):
             continue
-        if mod in split_test_dirs:
+        if base_mod:
+            fullname = f"{base_mod}.{mod}"
+        else:
+            fullname = mod
+        if fullname in split_test_dirs:
             subdir = os.path.join(testdir, mod)
-            mod = f"{base_mod or 'test'}.{mod}"
+            if not base_mod:
+                fullname = f"test.{mod}"
             tests.extend(findtests(testdir=subdir, exclude=exclude,
                                    split_test_dirs=split_test_dirs,
-                                   base_mod=mod))
+                                   base_mod=fullname))
         elif ext in (".py", ""):
-            tests.append(f"{base_mod}.{mod}" if base_mod else mod)
+            tests.append(fullname)
     return sorted(tests)