From 9ccd2e6aee173615012f7b8262ec890cfb1a7eb4 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Thu, 14 Sep 2023 15:15:42 +0200 Subject: [PATCH] gh-109402: Fix regrtest findtests() (#109403) Check for the full module name in SPLITTESTDIRS, not the relative module name. --- Lib/test/libregrtest/findtests.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Lib/test/libregrtest/findtests.py b/Lib/test/libregrtest/findtests.py index f4a8b9ae26ae65..af89982d498cf4 100644 --- a/Lib/test/libregrtest/findtests.py +++ b/Lib/test/libregrtest/findtests.py @@ -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)