bpo-34170: _PyCoreConfig_Read() defaults to argc=0 (GH-8595)

Add unit tests for argc and argv of _PyCoreConfig.
This commit is contained in:
Victor Stinner 2018-08-01 03:07:18 +02:00 committed by GitHub
parent 9851227382
commit ea68d83933
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 1 deletions

View File

@ -272,6 +272,8 @@ class InitConfigTests(EmbeddingTestsMixin, unittest.TestCase):
'pycache_prefix': '(null)',
'program_name': './_testembed',
'argc': 0,
'argv': '[]',
'program': '(null)',
'isolated': 0,

View File

@ -2294,6 +2294,9 @@ _PyCoreConfig_Read(_PyCoreConfig *config)
if (config->_frozen < 0) {
config->_frozen = 0;
}
if (config->argc < 0) {
config->argc = 0;
}
return _Py_INIT_OK();
}

View File

@ -335,7 +335,17 @@ dump_config(void)
printf("pycache_prefix = %ls\n", config->pycache_prefix);
printf("program_name = %ls\n", config->program_name);
ASSERT_STR_EQUAL(config->program_name, Py_GetProgramName());
/* FIXME: test argc/argv */
printf("argc = %i\n", config->argc);
printf("argv = [");
for (int i=0; i < config->argc; i++) {
if (i) {
printf(", ");
}
printf("\"%ls\"", config->argv[i]);
}
printf("]\n");
printf("program = %ls\n", config->program);
/* FIXME: test xoptions */
/* FIXME: test warnoptions */