gh-96853: Restore test coverage for Py_Initialize(Ex) (GH-98212)

* As most of `test_embed` now uses `Py_InitializeFromConfig`, add
  a specific test case to cover `Py_Initialize` (and `Py_InitializeEx`)
* Rename `_testembed` init helper to clarify the API used
* Add a `PyConfig_Clear` call in `Py_InitializeEx` to make
  the code more obviously correct (it already didn't leak as
  none of the dynamically allocated config fields were being
  populated, but it's clearer if the wrappers follow the
  documented API usage guidelines)
This commit is contained in:
Nick Coghlan 2022-10-30 22:01:30 +10:00 committed by GitHub
parent 76f989dc3e
commit 05e48865be
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 57 additions and 19 deletions

View file

@ -1313,6 +1313,7 @@ Py_InitializeEx(int install_sigs)
config.install_signal_handlers = install_sigs;
status = Py_InitializeFromConfig(&config);
PyConfig_Clear(&config);
if (_PyStatus_EXCEPTION(status)) {
Py_ExitStatusException(status);
}