mirror of https://github.com/pyodide/pyodide.git
40 lines
988 B
Python
40 lines
988 B
Python
"""
|
|
Generate a list of test modules in the CPython distribution.
|
|
"""
|
|
|
|
import os
|
|
from pathlib import Path
|
|
|
|
|
|
TEST_DIR = Path(__file__).parents[1] / "cpython/build/3.8.2/host/lib/python3.8/test"
|
|
|
|
|
|
def collect_tests(base_dir):
|
|
"""Collect CPython unit tests"""
|
|
# Note: this functionality is somewhat equivalent to pytest test
|
|
# collection.
|
|
tests = []
|
|
|
|
for root, dirs, files in os.walk(base_dir):
|
|
root = Path(root).relative_to(base_dir)
|
|
|
|
if str(root) == ".":
|
|
root = ""
|
|
else:
|
|
root = ".".join(str(root).split("/")) + "."
|
|
|
|
for filename in files:
|
|
filename = Path(filename)
|
|
if str(filename).startswith("test_") and filename.suffix == ".py":
|
|
tests.append(root + filename.stem)
|
|
|
|
tests.sort()
|
|
return tests
|
|
|
|
|
|
if __name__ == "__main__":
|
|
tests = collect_tests(TEST_DIR)
|
|
with open("python_tests.txt", "w") as fp:
|
|
for test in tests:
|
|
fp.write(test + "\n")
|