From 165a0fe1f1055d691118fa5fe139350b18da9388 Mon Sep 17 00:00:00 2001 From: Jonas Rembser Date: Mon, 19 Oct 2026 14:55:44 +0200 Subject: [PATCH] [cppjit] Test mechanism to disable test on macOS 27+ --- bindings/pyroot/cppjit/test/test_datatypes.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/bindings/pyroot/cppjit/test/test_datatypes.py b/bindings/pyroot/cppjit/test/test_datatypes.py index 5e508d32dcee6..2528527818484 100644 --- a/bindings/pyroot/cppjit/test/test_datatypes.py +++ b/bindings/pyroot/cppjit/test/test_datatypes.py @@ -3,10 +3,25 @@ import py from pytest import mark, raises, skip from support import IS_CLANG_REPL, IS_MAC, IS_WINDOWS, pylong, pyunicode, setup_make +import subprocess currpath = py.path.local(__file__).dirpath() test_dct = "datatypes_cxx" +IS_MACOS_27_PLUS = False + +try: + vers = subprocess.check_output(["xcrun", "--sdk", "macosx", "--show-sdk-version"]).decode().strip() + if int(vers.split(".")[0]) >= 27: + IS_MACOS_27_PLUS = True +except ModuleNotFoundError: + pass +except FileNotFoundError: + pass + +if IS_MACOS_27_PLUS: + raise RuntimeError("Hi") + def setup_module(mod): setup_make("datatypes") @@ -1009,6 +1024,7 @@ def test15_object_returns(self): assert c.get_pod_ptrref().m_int == 666 assert c.get_pod_ptrref().m_double == 3.14 + @mark.xfail(condition=IS_MACOS_27_PLUS, reason="Mutating proxy pointee via T** confuses memory regulator, resulting in crashes on newer macOS") def test16_object_arguments(self): """Test setting and returning of a POD through arguments"""