/snap/core24/1643/usr/lib/python3.12/test/libregrtest
NameSizeModeActions
__pycache__/-0755rm
cmdline.py235950644editdlrm
filter.py24530644editdlrm
findtests.py35570644editdlrm
logger.py27590644editdlrm
main.py263000644editdlrm
mypy.ini9970644editdlrm
pgo.py13980644editdlrm
refleak.py79970644editdlrm
result.py72020644editdlrm
results.py91280644editdlrm
runtests.py69590644editdlrm
run_workers.py223640644editdlrm
save_env.py130460644editdlrm
setup.py50100644editdlrm
single.py106520644editdlrm
testresult.py62320644editdlrm
tsan.py7000644editdlrm
utils.py217090644editdlrm
win_utils.py46710644editdlrm
worker.py31610644editdlrm
__init__.py00644editdlrm
Edit: /snap/core24/1643/usr/lib/python3.12/test/libregrtest/findtests.py (3557B)
import os import sys import unittest from test import support from .filter import match_test, set_match_tests from .utils import ( StrPath, TestName, TestTuple, TestList, TestFilter, abs_module_name, count, printlist) # If these test directories are encountered recurse into them and treat each # "test_*.py" file or each sub-directory as a separate test module. This can # increase parallelism. # # Beware this can't generally be done for any directory with sub-tests as the # __init__.py may do things which alter what tests are to be run. SPLITTESTDIRS: set[TestName] = { "test_asyncio", "test_concurrent_futures", "test_doctests", "test_future_stmt", "test_gdb", "test_inspect", "test_pydoc", "test_multiprocessing_fork", "test_multiprocessing_forkserver", "test_multiprocessing_spawn", } def findtestdir(path: StrPath | None = None) -> StrPath: return path or os.path.dirname(os.path.dirname(__file__)) or os.curdir def findtests(*, testdir: StrPath | None = None, exclude=(), split_test_dirs: set[TestName] = SPLITTESTDIRS, base_mod: str = "") -> TestList: """Return a list of all applicable test modules.""" testdir = findtestdir(testdir) tests = [] for name in os.listdir(testdir): mod, ext = os.path.splitext(name) if (not mod.startswith("test_")) or (mod in exclude): continue if base_mod: fullname = f"{base_mod}.{mod}" else: fullname = mod if fullname in split_test_dirs: subdir = os.path.join(testdir, mod) if not base_mod: fullname = f"test.{mod}" tests.extend(findtests(testdir=subdir, exclude=exclude, split_test_dirs=split_test_dirs, base_mod=fullname)) elif ext in (".py", ""): tests.append(fullname) return sorted(tests) def split_test_packages(tests, *, testdir: StrPath | None = None, exclude=(), split_test_dirs=SPLITTESTDIRS): testdir = findtestdir(testdir) splitted = [] for name in tests: if name in split_test_dirs: subdir = os.path.join(testdir, name) splitted.extend(findtests(testdir=subdir, exclude=exclude, split_test_dirs=split_test_dirs, base_mod=name)) else: splitted.append(name) return splitted def _list_cases(suite): for test in suite: if isinstance(test, unittest.loader._FailedTest): continue if isinstance(test, unittest.TestSuite): _list_cases(test) elif isinstance(test, unittest.TestCase): if match_test(test): print(test.id()) def list_cases(tests: TestTuple, *, match_tests: TestFilter | None = None, test_dir: StrPath | None = None): support.verbose = False set_match_tests(match_tests) skipped = [] for test_name in tests: module_name = abs_module_name(test_name, test_dir) try: suite = unittest.defaultTestLoader.loadTestsFromName(module_name) _list_cases(suite) except unittest.SkipTest: skipped.append(test_name) if skipped: sys.stdout.flush() stderr = sys.stderr print(file=stderr) print(count(len(skipped), "test"), "skipped:", file=stderr) printlist(skipped, file=stderr)