Merge pull request from rth/make_test_list.py

MAINT Fix and refactor tests/make_test_list.py
This commit is contained in:
Michael Droettboom 2018-09-06 10:53:23 -04:00 committed by GitHub
commit d4660f1a1f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 29 additions and 17 deletions

View File

@ -5,24 +5,36 @@ Generate a list of test modules in the CPython distribution.
import os
from pathlib import Path
tests = []
TEST_DIR = Path("../cpython/build/3.6.4/host/lib/python3.6/test")
TEST_DIR = (Path(__file__).parent
/ "cpython/build/3.6.4/host/lib/python3.6/test")
for root, dirs, files in os.walk(
"../cpython/build/3.6.4/host/lib/python3.6/test"):
root = Path(root).relative_to(TEST_DIR)
if root == '.':
root = ''
else:
root = '.'.join(root.split('/')) + '.'
for filename in files:
filename = Path(filename)
if str(filename).startswith("test_") and filename.suffix == ".py":
tests.append(str(root / filename.stem))
def collect_tests(base_dir):
"""Collect CPython unit tests"""
# Note: this functionality is somewhat equivalent to pytest test
# collection.
tests = []
tests.sort()
with open("python_tests.txt", "w") as fp:
for test in tests:
fp.write(test + '\n')
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')