mirror of
https://github.com/python/cpython.git
synced 2025-11-01 18:51:43 +00:00
bpo-35239: _PySys_EndInit() copies module_search_path (GH-10532)
* The _PySys_EndInit() function now copies the config->module_search_path list, so config is longer modified when sys.path is updated. * config->warnoptions list and config->xoptions dict are also copied * test_embed: InitConfigTests now also tests main_config['module_search_path'] * Fix _Py_InitializeMainInterpreter(): don't use config->warnoptions but sys.warnoptions to decide if the warnings module should be imported at startup.
This commit is contained in:
parent
b65413b497
commit
37cd982df0
3 changed files with 28 additions and 13 deletions
|
|
@ -331,10 +331,6 @@ class InitConfigTests(EmbeddingTestsMixin, unittest.TestCase):
|
|||
})
|
||||
|
||||
# main config
|
||||
UNTESTED_MAIN_CONFIG = (
|
||||
# FIXME: untested main configuration variables
|
||||
'module_search_path',
|
||||
)
|
||||
COPY_MAIN_CONFIG = (
|
||||
# Copy core config to main config for expected values
|
||||
'argv',
|
||||
|
|
@ -346,7 +342,8 @@ class InitConfigTests(EmbeddingTestsMixin, unittest.TestCase):
|
|||
'prefix',
|
||||
'pycache_prefix',
|
||||
'warnoptions',
|
||||
# xoptions is created from core_config in check_main_config()
|
||||
# xoptions is created from core_config in check_main_config().
|
||||
# 'module_search_paths' is copied to 'module_search_path'.
|
||||
)
|
||||
|
||||
# global config
|
||||
|
|
@ -426,12 +423,10 @@ class InitConfigTests(EmbeddingTestsMixin, unittest.TestCase):
|
|||
main_config = config['main_config']
|
||||
|
||||
# main config
|
||||
for key in self.UNTESTED_MAIN_CONFIG:
|
||||
del main_config[key]
|
||||
|
||||
expected_main = {}
|
||||
for key in self.COPY_MAIN_CONFIG:
|
||||
expected_main[key] = core_config[key]
|
||||
expected_main['module_search_path'] = core_config['module_search_paths']
|
||||
expected_main['xoptions'] = self.main_xoptions(core_config['xoptions'])
|
||||
self.assertEqual(main_config, expected_main)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue