Add error_scope to detail::get_internals() (#3981)

* Add `error_scope` to `detail::get_internals()`

* Adjust test to tolerate macOS PyPy behavior.
This commit is contained in:
Ralf W. Grosse-Kunstleve
2022-05-31 11:51:13 -07:00
committed by GitHub
parent 8da58da539
commit de4ba92c9f
5 changed files with 69 additions and 0 deletions

View File

@@ -307,4 +307,11 @@ TEST_SUBMODULE(exceptions, m) {
PyErr_Clear();
return py::make_tuple(std::move(what), py_err_set_after_what);
});
m.def("test_cross_module_interleaved_error_already_set", []() {
auto cm = py::module_::import("cross_module_interleaved_error_already_set");
auto interleaved_error_already_set
= reinterpret_cast<void (*)()>(PyLong_AsVoidPtr(cm.attr("funcaddr").ptr()));
interleaved_error_already_set();
});
}