summaryrefslogtreecommitdiffstats
path: root/Python/initconfig.c
diff options
context:
space:
mode:
authorEric Snow <ericsnowcurrently@gmail.com>2024-04-02 20:35:52 (GMT)
committerGitHub <noreply@github.com>2024-04-02 20:35:52 (GMT)
commitf341d6017dd4e80509b69b5a9e2625b71b70f205 (patch)
treefee03c2fb5ec944ca20b41e5a390c73f1d03a241 /Python/initconfig.c
parentcae4cdd07ddfcd8bcc05d683bac53815391c9907 (diff)
downloadcpython-f341d6017dd4e80509b69b5a9e2625b71b70f205.zip
cpython-f341d6017dd4e80509b69b5a9e2625b71b70f205.tar.gz
cpython-f341d6017dd4e80509b69b5a9e2625b71b70f205.tar.bz2
gh-76785: Add PyInterpreterConfig Helpers (gh-117170)
These helpers make it easier to customize and inspect the config used to initialize interpreters. This is especially valuable in our tests. I found inspiration from the PyConfig API for the PyInterpreterConfig dict conversion stuff. As part of this PR I've also added a bunch of tests.
Diffstat (limited to 'Python/initconfig.c')
-rw-r--r--Python/initconfig.c25
1 files changed, 3 insertions, 22 deletions
diff --git a/Python/initconfig.c b/Python/initconfig.c
index 215d6a1..d91a819 100644
--- a/Python/initconfig.c
+++ b/Python/initconfig.c
@@ -24,6 +24,9 @@
# endif
#endif
+#include "config_common.h"
+
+
/* --- PyConfig spec ---------------------------------------------- */
typedef enum {
@@ -1098,21 +1101,6 @@ _PyConfig_AsDict(const PyConfig *config)
}
-static PyObject*
-config_dict_get(PyObject *dict, const char *name)
-{
- PyObject *item;
- if (PyDict_GetItemStringRef(dict, name, &item) < 0) {
- return NULL;
- }
- if (item == NULL) {
- PyErr_Format(PyExc_ValueError, "missing config key: %s", name);
- return NULL;
- }
- return item;
-}
-
-
static void
config_dict_invalid_value(const char *name)
{
@@ -1120,13 +1108,6 @@ config_dict_invalid_value(const char *name)
}
-static void
-config_dict_invalid_type(const char *name)
-{
- PyErr_Format(PyExc_TypeError, "invalid config type: %s", name);
-}
-
-
static int
config_dict_get_int(PyObject *dict, const char *name, int *result)
{