mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
bpo-45189: Drop the "list_frozen" command from _test_embed. (GH-30273)
This commit is contained in:
parent
3581c7abbe
commit
196b53eb1e
2 changed files with 5 additions and 32 deletions
|
@ -1827,26 +1827,6 @@ static int test_frozenmain(void)
|
||||||
}
|
}
|
||||||
#endif // !MS_WINDOWS
|
#endif // !MS_WINDOWS
|
||||||
|
|
||||||
|
|
||||||
// List frozen modules.
|
|
||||||
// Command used by Tools/scripts/generate_stdlib_module_names.py script.
|
|
||||||
static int list_frozen(void)
|
|
||||||
{
|
|
||||||
const struct _frozen *p;
|
|
||||||
for (p = _PyImport_FrozenBootstrap; ; p++) {
|
|
||||||
if (p->name == NULL)
|
|
||||||
break;
|
|
||||||
printf("%s\n", p->name);
|
|
||||||
}
|
|
||||||
for (p = _PyImport_FrozenStdlib; ; p++) {
|
|
||||||
if (p->name == NULL)
|
|
||||||
break;
|
|
||||||
printf("%s\n", p->name);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static int test_repeated_init_and_inittab(void)
|
static int test_repeated_init_and_inittab(void)
|
||||||
{
|
{
|
||||||
// bpo-44441: Py_RunMain() must reset PyImport_Inittab at exit.
|
// bpo-44441: Py_RunMain() must reset PyImport_Inittab at exit.
|
||||||
|
@ -1960,8 +1940,6 @@ static struct TestCase TestCases[] = {
|
||||||
{"test_frozenmain", test_frozenmain},
|
{"test_frozenmain", test_frozenmain},
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Command
|
|
||||||
{"list_frozen", list_frozen},
|
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# This script lists the names of standard library modules
|
# This script lists the names of standard library modules
|
||||||
# to update Python/stdlib_mod_names.h
|
# to update Python/stdlib_mod_names.h
|
||||||
|
import _imp
|
||||||
import os.path
|
import os.path
|
||||||
import re
|
import re
|
||||||
import subprocess
|
import subprocess
|
||||||
|
@ -11,7 +12,6 @@ SRC_DIR = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
|
||||||
STDLIB_PATH = os.path.join(SRC_DIR, 'Lib')
|
STDLIB_PATH = os.path.join(SRC_DIR, 'Lib')
|
||||||
MODULES_SETUP = os.path.join(SRC_DIR, 'Modules', 'Setup')
|
MODULES_SETUP = os.path.join(SRC_DIR, 'Modules', 'Setup')
|
||||||
SETUP_PY = os.path.join(SRC_DIR, 'setup.py')
|
SETUP_PY = os.path.join(SRC_DIR, 'setup.py')
|
||||||
TEST_EMBED = os.path.join(SRC_DIR, 'Programs', '_testembed')
|
|
||||||
|
|
||||||
IGNORE = {
|
IGNORE = {
|
||||||
'__init__',
|
'__init__',
|
||||||
|
@ -117,16 +117,11 @@ def list_modules_setup_extensions(names):
|
||||||
# List frozen modules of the PyImport_FrozenModules list (Python/frozen.c).
|
# List frozen modules of the PyImport_FrozenModules list (Python/frozen.c).
|
||||||
# Use the "./Programs/_testembed list_frozen" command.
|
# Use the "./Programs/_testembed list_frozen" command.
|
||||||
def list_frozen(names):
|
def list_frozen(names):
|
||||||
args = [TEST_EMBED, 'list_frozen']
|
|
||||||
proc = subprocess.run(args, stdout=subprocess.PIPE, text=True)
|
|
||||||
exitcode = proc.returncode
|
|
||||||
if exitcode:
|
|
||||||
cmd = ' '.join(args)
|
|
||||||
print(f"{cmd} failed with exitcode {exitcode}")
|
|
||||||
sys.exit(exitcode)
|
|
||||||
submodules = set()
|
submodules = set()
|
||||||
for line in proc.stdout.splitlines():
|
for name in _imp._frozen_module_names():
|
||||||
name = line.strip()
|
# To skip __hello__, __hello_alias__ and etc.
|
||||||
|
if name.startswith('__'):
|
||||||
|
continue
|
||||||
if '.' in name:
|
if '.' in name:
|
||||||
submodules.add(name)
|
submodules.add(name)
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue