mirror of https://github.com/python/cpython
gh-109402: Fix regrtest findtests() (#109403)
Check for the full module name in SPLITTESTDIRS, not the relative module name.
This commit is contained in:
parent
d7a27e527d
commit
9ccd2e6aee
|
@ -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)
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue