aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Programs')
-rw-r--r--Programs/_testembed.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/Programs/_testembed.c b/Programs/_testembed.c
index 73b37c5f1f3..2560bfc62bb 100644
--- a/Programs/_testembed.c
+++ b/Programs/_testembed.c
@@ -747,6 +747,27 @@ static int test_run_main(void)
}
+static int test_run_main_config(void)
+{
+ _PyCoreConfig config = _PyCoreConfig_INIT;
+
+ wchar_t *argv[] = {L"python3", L"-c",
+ (L"import _testinternalcapi, json; "
+ L"print(json.dumps(_testinternalcapi.get_configs()))"),
+ L"arg2"};
+ config.argv.length = Py_ARRAY_LENGTH(argv);
+ config.argv.items = argv;
+ config.program_name = L"./python3";
+
+ _PyInitError err = _Py_InitializeFromConfig(&config);
+ if (_Py_INIT_FAILED(err)) {
+ _Py_ExitInitError(err);
+ }
+
+ return _Py_RunMain();
+}
+
+
/* *********************************************************
* List of test cases and the function that implements it.
*
@@ -785,6 +806,7 @@ static struct TestCase TestCases[] = {
{ "preinit_isolated2", test_preinit_isolated2 },
{ "init_read_set", test_init_read_set },
{ "run_main", test_run_main },
+ { "run_main_config", test_run_main_config },
{ NULL, NULL }
};