diff options
| author | Victor Stinner <vstinner@redhat.com> | 2019-05-16 15:02:56 (GMT) | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-05-16 15:02:56 (GMT) | 
| commit | ae239f6b0626e926613a4a1dbafa323bd41fec32 (patch) | |
| tree | c811687161a90a5a03dc29b83774b5f9688579d7 /Programs/_testembed.c | |
| parent | 68b34a720485f399e8699235b8f4e08f227dd43b (diff) | |
| download | cpython-ae239f6b0626e926613a4a1dbafa323bd41fec32.zip cpython-ae239f6b0626e926613a4a1dbafa323bd41fec32.tar.gz cpython-ae239f6b0626e926613a4a1dbafa323bd41fec32.tar.bz2  | |
bpo-36763: Add _PyCoreConfig.parse_argv (GH-13361)
* _PyCoreConfig_Read() doesn't parse nor update argv
  if parse_argv is 0.
* Move path configuration fields in _PyCoreConfig.
* Add an unit test for parse_argv=0.
* Remove unused "done": label in _Py_RunMain().
Diffstat (limited to 'Programs/_testembed.c')
| -rw-r--r-- | Programs/_testembed.c | 32 | 
1 files changed, 32 insertions, 0 deletions
diff --git a/Programs/_testembed.c b/Programs/_testembed.c index 2560bfc..6eee2e8 100644 --- a/Programs/_testembed.c +++ b/Programs/_testembed.c @@ -511,6 +511,37 @@ static int test_init_from_config(void)  } +static int test_init_dont_parse_argv(void) +{ +    _PyInitError err; + +    _PyCoreConfig config = _PyCoreConfig_INIT; + +    static wchar_t* argv[] = { +        L"-v", +        L"-c", +        L"arg1", +        L"-W", +        L"arg2", +    }; + +    config.program = L"program"; +    config.program_name = L"./_testembed"; + +    config.argv.length = Py_ARRAY_LENGTH(argv); +    config.argv.items = argv; +    config.parse_argv = 0; + +    err = _Py_InitializeFromConfig(&config); +    if (_Py_INIT_FAILED(err)) { +        _Py_ExitInitError(err); +    } +    dump_config(); +    Py_Finalize(); +    return 0; +} + +  static void test_init_env_putenvs(void)  {      putenv("PYTHONHASHSEED=42"); @@ -797,6 +828,7 @@ static struct TestCase TestCases[] = {      { "init_default_config", test_init_default_config },      { "init_global_config", test_init_global_config },      { "init_from_config", test_init_from_config }, +    { "init_dont_parse_argv", test_init_dont_parse_argv },      { "init_env", test_init_env },      { "init_env_dev_mode", test_init_env_dev_mode },      { "init_env_dev_mode_alloc", test_init_env_dev_mode_alloc },  | 
