mirror of
https://github.com/python/cpython.git
synced 2025-08-22 09:45:06 +00:00
bpo-45020: Add tests for the -X "frozen_modules" option. (gh-28997)
We hadn't explicitly added any tests for this, so here they are. https://bugs.python.org/issue45020
This commit is contained in:
parent
2b8677a3cd
commit
6afb285ff0
3 changed files with 78 additions and 0 deletions
|
@ -1726,6 +1726,44 @@ static int test_get_argc_argv(void)
|
|||
}
|
||||
|
||||
|
||||
static int check_use_frozen_modules(const char *rawval)
|
||||
{
|
||||
wchar_t optval[100];
|
||||
if (rawval == NULL) {
|
||||
wcscpy(optval, L"frozen_modules");
|
||||
}
|
||||
else if (swprintf(optval, 100, L"frozen_modules=%s", rawval) < 0) {
|
||||
error("rawval is too long");
|
||||
return -1;
|
||||
}
|
||||
|
||||
PyConfig config;
|
||||
PyConfig_InitPythonConfig(&config);
|
||||
|
||||
config.parse_argv = 1;
|
||||
|
||||
wchar_t* argv[] = {
|
||||
L"./argv0",
|
||||
L"-X",
|
||||
optval,
|
||||
L"-c",
|
||||
L"pass",
|
||||
};
|
||||
config_set_argv(&config, Py_ARRAY_LENGTH(argv), argv);
|
||||
init_from_config_clear(&config);
|
||||
|
||||
dump_config();
|
||||
Py_Finalize();
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int test_init_use_frozen_modules(void)
|
||||
{
|
||||
const char *envvar = getenv("TESTFROZEN");
|
||||
return check_use_frozen_modules(envvar);
|
||||
}
|
||||
|
||||
|
||||
static int test_unicode_id_init(void)
|
||||
{
|
||||
// bpo-42882: Test that _PyUnicode_FromId() works
|
||||
|
@ -1912,6 +1950,7 @@ static struct TestCase TestCases[] = {
|
|||
{"test_run_main", test_run_main},
|
||||
{"test_run_main_loop", test_run_main_loop},
|
||||
{"test_get_argc_argv", test_get_argc_argv},
|
||||
{"test_init_use_frozen_modules", test_init_use_frozen_modules},
|
||||
|
||||
// Audit
|
||||
{"test_open_code_hook", test_open_code_hook},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue