bpo-36142: PYTHONMALLOC overrides PYTHONDEV (GH-12191)

bpo-34247, bpo-36142: The PYTHONMALLOC environment variable has the
priority over PYTHONDEV env var and "-X dev" command line option.
For example, PYTHONMALLOC=malloc PYTHONDEVMODE=1 sets the memory
allocators to "malloc" (and not to "debug").

Add an unit test.
This commit is contained in:
Victor Stinner 2019-03-06 12:51:53 +01:00 committed by GitHub
parent 01e0f439f5
commit 25d13f37aa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 45 additions and 21 deletions

View file

@ -524,7 +524,7 @@ class InitConfigTests(EmbeddingTestsMixin, unittest.TestCase):
'install_signal_handlers': 0,
'use_hash_seed': 1,
'hash_seed': 123,
'allocator': 'malloc_debug',
'allocator': 'malloc',
'tracemalloc': 2,
'import_time': 1,
'show_ref_count': 1,
@ -564,7 +564,7 @@ class InitConfigTests(EmbeddingTestsMixin, unittest.TestCase):
INIT_ENV_CONFIG = {
'use_hash_seed': 1,
'hash_seed': 42,
'allocator': 'malloc_debug',
'allocator': 'malloc',
'tracemalloc': 2,
'import_time': 1,
'malloc_stats': 1,
@ -592,6 +592,12 @@ class InitConfigTests(EmbeddingTestsMixin, unittest.TestCase):
dev_mode=1)
self.check_config("init_env_dev_mode", config)
def test_init_env_dev_mode(self):
config = dict(self.INIT_ENV_CONFIG,
allocator='malloc',
dev_mode=1)
self.check_config("init_env_dev_mode_alloc", config)
def test_init_dev_mode(self):
config = {
'dev_mode': 1,