aboutsummaryrefslogtreecommitdiff
path: root/Tools/scripts/generate_stdlib_module_names.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/scripts/generate_stdlib_module_names.py')
-rw-r--r--Tools/scripts/generate_stdlib_module_names.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/Tools/scripts/generate_stdlib_module_names.py b/Tools/scripts/generate_stdlib_module_names.py
index 716a6d4b7a..325ae202b1 100644
--- a/Tools/scripts/generate_stdlib_module_names.py
+++ b/Tools/scripts/generate_stdlib_module_names.py
@@ -117,9 +117,19 @@ def list_frozen(names):
cmd = ' '.join(args)
print(f"{cmd} failed with exitcode {exitcode}")
sys.exit(exitcode)
+ submodules = set()
for line in proc.stdout.splitlines():
name = line.strip()
- names.add(name)
+ if '.' in name:
+ submodules.add(name)
+ else:
+ names.add(name)
+ # Make sure all frozen submodules have a known parent.
+ for name in list(submodules):
+ if name.partition('.')[0] in names:
+ submodules.remove(name)
+ if submodules:
+ raise Exception(f'unexpected frozen submodules: {sorted(submodules)}')
def list_modules():