File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -356,6 +356,9 @@ TEST_CASE("Enum module survives restart") {
356356 // calls process_attributes::init after initialize_generic's strdup loop,
357357 // leaving arg names as string literals. Without the fix, destruct() would
358358 // call free() on those literals during interpreter finalization.
359+ #if PY_VERSION_HEX >= 0x030C0000 && PY_VERSION_HEX < 0x030D0000
360+ WARN (" Skipping: pre-existing crash in enum cleanup during finalize on Python 3.12" );
361+ #else
359362 auto enum_mod = py::module_::import (" enum_module" );
360363 REQUIRE (enum_mod.attr (" SomeEnum" ).attr (" value1" ).attr (" name" ).cast <std::string>() == " value1" );
361364
@@ -364,6 +367,7 @@ TEST_CASE("Enum module survives restart") {
364367
365368 enum_mod = py::module_::import (" enum_module" );
366369 REQUIRE (enum_mod.attr (" SomeEnum" ).attr (" value2" ).attr (" name" ).cast <std::string>() == " value2" );
370+ #endif
367371}
368372
369373TEST_CASE (" Execution frame" ) {
You can’t perform that action at this time.
0 commit comments