From 8df2e819d271790778419f731567852e92a9b771 Mon Sep 17 00:00:00 2001 From: Wenzel Jakob Date: Wed, 2 Nov 2022 15:28:00 +0100 Subject: [PATCH] fix C++ test --- tests/test_embed/test_interpreter.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tests/test_embed/test_interpreter.cpp b/tests/test_embed/test_interpreter.cpp index 6299293b9..85e11ba62 100644 --- a/tests/test_embed/test_interpreter.cpp +++ b/tests/test_embed/test_interpreter.cpp @@ -169,8 +169,15 @@ TEST_CASE("There can be only one interpreter") { } bool has_pybind11_internals_builtin() { - auto builtins = py::handle(PyEval_GetBuiltins()); - return builtins.contains(PYBIND11_INTERNALS_ID); + py::dict state_dict; +#if PY_VERSION_HEX < 0x03080000 + state_dict = py::reinterpret_borrow(PyEval_GetBuiltins()); +#elif PY_VERSION_HEX < 0x03090000 + state_dict = py::reinterpret_borrow(PyInterpreterState_GetDict(_PyInterpreterState_Get())); +#else + state_dict = py::reinterpret_borrow(PyInterpreterState_GetDict(PyInterpreterState_Get())); +#endif + return state_dict.contains(PYBIND11_INTERNALS_ID); }; bool has_pybind11_internals_static() {