mirror of
https://github.com/python/cpython.git
synced 2025-12-04 00:30:19 +00:00
make regen-stdlib-module-names rejects test modules (#105921)
Make sure that sys.stdlib_module_names doesn't contain test modules.
This commit is contained in:
parent
cb388c9a85
commit
155577de1b
1 changed files with 17 additions and 2 deletions
|
|
@ -43,6 +43,16 @@ IGNORE = {
|
|||
'xxsubtype',
|
||||
}
|
||||
|
||||
ALLOW_TEST_MODULES = {
|
||||
'doctest',
|
||||
'unittest',
|
||||
}
|
||||
|
||||
# Built-in modules
|
||||
def list_builtin_modules(names):
|
||||
names |= set(sys.builtin_module_names)
|
||||
|
||||
|
||||
# Pure Python modules (Lib/*.py)
|
||||
def list_python_modules(names):
|
||||
for filename in os.listdir(STDLIB_PATH):
|
||||
|
|
@ -93,7 +103,9 @@ def list_frozen(names):
|
|||
|
||||
|
||||
def list_modules():
|
||||
names = set(sys.builtin_module_names)
|
||||
names = set()
|
||||
|
||||
list_builtin_modules(names)
|
||||
list_modules_setup_extensions(names)
|
||||
list_packages(names)
|
||||
list_python_modules(names)
|
||||
|
|
@ -106,9 +118,12 @@ def list_modules():
|
|||
if package_name in IGNORE:
|
||||
names.discard(name)
|
||||
|
||||
# Sanity checks
|
||||
for name in names:
|
||||
if "." in name:
|
||||
raise Exception("sub-modules must not be listed")
|
||||
raise Exception(f"sub-modules must not be listed: {name}")
|
||||
if ("test" in name or "xx" in name) and name not in ALLOW_TEST_MODULES:
|
||||
raise Exception(f"test modules must not be listed: {name}")
|
||||
|
||||
return names
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue