mirror of
https://github.com/python/cpython
synced 2026-09-29 12:10:30 +03:00
bpo-36763: Fix _PyPreConfig_InitCompatConfig() utf8_mode (GH-13518)
* _PyPreConfig_InitCompatConfig() sets utf8_mode to 0. * Change Py_UTF8Mode default value to 0. * Fix _PyPreConfig_Copy(): copy also _config_init attrbibute. * _PyPreConfig_AsDict() exports _config_init * Fix _PyPreConfig_GetGlobalConfig(): use Py_UTF8Mode if it's greater than 0, even if utf8_mode >= 0. * Add unit tests on environment variables using Python API.
This commit is contained in:
parent
bc2aa81662
commit
20e1e2582e
4 changed files with 77 additions and 11 deletions
|
|
@ -638,7 +638,7 @@ static void set_all_env_vars(void)
|
|||
}
|
||||
|
||||
|
||||
static int test_init_env(void)
|
||||
static int test_init_compat_env(void)
|
||||
{
|
||||
/* Test initialization from environment variables */
|
||||
Py_IgnoreEnvironmentFlag = 0;
|
||||
|
|
@ -650,6 +650,29 @@ static int test_init_env(void)
|
|||
}
|
||||
|
||||
|
||||
static int test_init_python_env(void)
|
||||
{
|
||||
_PyInitError err;
|
||||
|
||||
set_all_env_vars();
|
||||
|
||||
_PyCoreConfig config;
|
||||
err = _PyCoreConfig_InitPythonConfig(&config);
|
||||
if (_PyInitError_Failed(err)) {
|
||||
_Py_ExitInitError(err);
|
||||
}
|
||||
config.program_name = L"./_testembed";
|
||||
|
||||
err = _Py_InitializeFromConfig(&config);
|
||||
if (_PyInitError_Failed(err)) {
|
||||
_Py_ExitInitError(err);
|
||||
}
|
||||
dump_config();
|
||||
Py_Finalize();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static void set_all_env_vars_dev_mode(void)
|
||||
{
|
||||
putenv("PYTHONMALLOC=");
|
||||
|
|
@ -1257,7 +1280,8 @@ static struct TestCase TestCases[] = {
|
|||
{"test_init_from_config", test_init_from_config},
|
||||
{"test_init_parse_argv", test_init_parse_argv},
|
||||
{"test_init_dont_parse_argv", test_init_dont_parse_argv},
|
||||
{"test_init_env", test_init_env},
|
||||
{"test_init_compat_env", test_init_compat_env},
|
||||
{"test_init_python_env", test_init_python_env},
|
||||
{"test_init_env_dev_mode", test_init_env_dev_mode},
|
||||
{"test_init_env_dev_mode_alloc", test_init_env_dev_mode_alloc},
|
||||
{"test_init_dont_configure_locale", test_init_dont_configure_locale},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue