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)
|
mod, ext = os.path.splitext(name)
|
||||||
if (not mod.startswith("test_")) or (mod in exclude):
|
if (not mod.startswith("test_")) or (mod in exclude):
|
||||||
continue
|
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)
|
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,
|
tests.extend(findtests(testdir=subdir, exclude=exclude,
|
||||||
split_test_dirs=split_test_dirs,
|
split_test_dirs=split_test_dirs,
|
||||||
base_mod=mod))
|
base_mod=fullname))
|
||||||
elif ext in (".py", ""):
|
elif ext in (".py", ""):
|
||||||
tests.append(f"{base_mod}.{mod}" if base_mod else mod)
|
tests.append(fullname)
|
||||||
return sorted(tests)
|
return sorted(tests)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue