diff --git a/graalpython/com.oracle.graal.python.test.integration/src/com/oracle/graal/python/test/integration/Utils.java b/graalpython/com.oracle.graal.python.test.integration/src/com/oracle/graal/python/test/integration/Utils.java index e47f5fa149..591dbc8015 100644 --- a/graalpython/com.oracle.graal.python.test.integration/src/com/oracle/graal/python/test/integration/Utils.java +++ b/graalpython/com.oracle.graal.python.test.integration/src/com/oracle/graal/python/test/integration/Utils.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, 2025, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021, 2026, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * The Universal Permissive License (UPL), Version 1.0 @@ -47,6 +47,7 @@ public class Utils { public static final boolean IS_WINDOWS = System.getProperty("os.name").toLowerCase(Locale.ROOT).contains("windows"); + public static final boolean SUPPORTS_PANAMA = Runtime.version().feature() >= 22; public static String getThreadDump() { ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean(); diff --git a/graalpython/com.oracle.graal.python.test.integration/src/com/oracle/graal/python/test/integration/advanced/AsyncActionThreadingTest.java b/graalpython/com.oracle.graal.python.test.integration/src/com/oracle/graal/python/test/integration/advanced/AsyncActionThreadingTest.java index c56be42646..ca05802955 100644 --- a/graalpython/com.oracle.graal.python.test.integration/src/com/oracle/graal/python/test/integration/advanced/AsyncActionThreadingTest.java +++ b/graalpython/com.oracle.graal.python.test.integration/src/com/oracle/graal/python/test/integration/advanced/AsyncActionThreadingTest.java @@ -40,6 +40,7 @@ */ package com.oracle.graal.python.test.integration.advanced; +import static com.oracle.graal.python.test.integration.Utils.SUPPORTS_PANAMA; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -77,7 +78,7 @@ Stream pythonThreads() { @Test public void testNoNewThreadsWithoutAutomaticAsyncActions() { Assume.assumeTrue("false".equalsIgnoreCase(System.getProperty("python.AutomaticAsyncActions"))); - Assume.assumeTrue("Requires JEP 454 support for _testcapi", Runtime.version().feature() >= 22); + Assume.assumeTrue("Requires JEP 454 support for _testcapi", SUPPORTS_PANAMA); long threadCount = pythonThreadCount(); Context c = PythonTests.enterContext(Map.of("python.AllowSignalHandlers", "true", "python.PosixModuleBackend", "native"), new String[0]); try { diff --git a/graalpython/com.oracle.graal.python.test.integration/src/com/oracle/graal/python/test/integration/advanced/NativeExtTest.java b/graalpython/com.oracle.graal.python.test.integration/src/com/oracle/graal/python/test/integration/advanced/NativeExtTest.java index 1dc193ed0d..0fdf6e15aa 100644 --- a/graalpython/com.oracle.graal.python.test.integration/src/com/oracle/graal/python/test/integration/advanced/NativeExtTest.java +++ b/graalpython/com.oracle.graal.python.test.integration/src/com/oracle/graal/python/test/integration/advanced/NativeExtTest.java @@ -40,6 +40,8 @@ */ package com.oracle.graal.python.test.integration.advanced; +import static com.oracle.graal.python.test.integration.Utils.SUPPORTS_PANAMA; + import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; @@ -64,7 +66,7 @@ public class NativeExtTest { @BeforeClass public static void setUpClass() { Assume.assumeFalse(System.getProperty("os.name").toLowerCase().contains("mac")); - Assume.assumeTrue(Runtime.version().feature() >= 22); + Assume.assumeTrue(SUPPORTS_PANAMA); } @Test diff --git a/graalpython/com.oracle.graal.python.test.integration/src/com/oracle/graal/python/test/integration/advanced/ShutdownTest.java b/graalpython/com.oracle.graal.python.test.integration/src/com/oracle/graal/python/test/integration/advanced/ShutdownTest.java index b7cd9025f8..895ca8f050 100644 --- a/graalpython/com.oracle.graal.python.test.integration/src/com/oracle/graal/python/test/integration/advanced/ShutdownTest.java +++ b/graalpython/com.oracle.graal.python.test.integration/src/com/oracle/graal/python/test/integration/advanced/ShutdownTest.java @@ -40,6 +40,8 @@ */ package com.oracle.graal.python.test.integration.advanced; +import static com.oracle.graal.python.test.integration.Utils.SUPPORTS_PANAMA; + import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; @@ -59,7 +61,7 @@ public class ShutdownTest extends PythonTests { @BeforeClass public static void setUpClass() { Assume.assumeFalse(System.getProperty("os.name").toLowerCase().contains("mac")); - Assume.assumeTrue(Runtime.version().feature() >= 22); + Assume.assumeTrue(SUPPORTS_PANAMA); } @Test diff --git a/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/cext/test/MultithreadedImportTestJava.java b/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/cext/test/MultithreadedImportTestJava.java index 87649f163f..1c6f3e8406 100644 --- a/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/cext/test/MultithreadedImportTestJava.java +++ b/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/cext/test/MultithreadedImportTestJava.java @@ -41,6 +41,7 @@ package com.oracle.graal.python.cext.test; import static com.oracle.graal.python.cext.test.MultithreadedImportTestBase.multithreadedImportTest; +import static com.oracle.graal.python.test.integration.Utils.SUPPORTS_PANAMA; import org.graalvm.polyglot.Context; import org.junit.Assume; @@ -50,7 +51,7 @@ public class MultithreadedImportTestJava { @BeforeClass public static void setUpClass() { - Assume.assumeTrue(Runtime.version().feature() >= 22); + Assume.assumeTrue(SUPPORTS_PANAMA); } @Test diff --git a/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/cext/test/MultithreadedImportTestNative.java b/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/cext/test/MultithreadedImportTestNative.java index 0eb9ee8f69..6d27eedf37 100644 --- a/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/cext/test/MultithreadedImportTestNative.java +++ b/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/cext/test/MultithreadedImportTestNative.java @@ -40,6 +40,8 @@ */ package com.oracle.graal.python.cext.test; +import static com.oracle.graal.python.test.integration.Utils.SUPPORTS_PANAMA; + import org.graalvm.polyglot.Context; import org.junit.Assume; import org.junit.BeforeClass; @@ -48,7 +50,7 @@ public class MultithreadedImportTestNative extends MultithreadedImportTestBase { @BeforeClass public static void setUpClass() { - Assume.assumeTrue(Runtime.version().feature() >= 22); + Assume.assumeTrue(SUPPORTS_PANAMA); } @Test diff --git a/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/SocketTests.java b/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/SocketTests.java index 24c5b8321f..df3344a028 100644 --- a/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/SocketTests.java +++ b/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/SocketTests.java @@ -74,6 +74,7 @@ import static com.oracle.graal.python.runtime.PosixConstants.SO_TYPE; import static com.oracle.graal.python.runtime.PosixConstants.TCP_NODELAY; import static com.oracle.graal.python.runtime.PosixConstants.TCP_USER_TIMEOUT; +import static com.oracle.graal.python.test.integration.Utils.SUPPORTS_PANAMA; import static com.oracle.graal.python.util.PythonUtils.toTruffleStringUncached; import static org.hamcrest.CoreMatchers.anyOf; import static org.hamcrest.CoreMatchers.equalTo; @@ -142,7 +143,7 @@ public class SocketTests { @Parameters(name = "{0}") public static String[] params() { - return new String[]{"native", "java"}; + return SUPPORTS_PANAMA ? new String[]{"java", "native"} : new String[]{"java"}; } @Rule public WithPythonContextRule withPythonContextRule = new WithPythonContextRule((o) -> o.put("python.PosixModuleBackend", backendName)); diff --git a/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/builtin/modules/PathConversionNodeTests.java b/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/builtin/modules/PathConversionNodeTests.java index 387006db46..f6d9b140f8 100644 --- a/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/builtin/modules/PathConversionNodeTests.java +++ b/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/builtin/modules/PathConversionNodeTests.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, 2025, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, 2026, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * The Universal Permissive License (UPL), Version 1.0 @@ -42,6 +42,7 @@ import static com.oracle.graal.python.test.PythonTests.ts; import static com.oracle.graal.python.test.integration.Utils.IS_WINDOWS; +import static com.oracle.graal.python.test.integration.Utils.SUPPORTS_PANAMA; import static com.oracle.graal.python.util.PythonUtils.TS_ENCODING; import java.math.BigInteger; @@ -83,7 +84,7 @@ public class PathConversionNodeTests extends ConversionNodeTests { @Parameters(name = "{0}") public static String[] params() { - return new String[]{"java", "native"}; + return SUPPORTS_PANAMA ? new String[]{"java", "native"} : new String[]{"java"}; } @Before diff --git a/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/builtin/objects/TpSlotsTests.java b/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/builtin/objects/TpSlotsTests.java index 85c30f5d3f..5e008508c1 100644 --- a/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/builtin/objects/TpSlotsTests.java +++ b/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/builtin/objects/TpSlotsTests.java @@ -40,6 +40,8 @@ */ package com.oracle.graal.python.test.builtin.objects; +import static com.oracle.graal.python.test.integration.Utils.SUPPORTS_PANAMA; + import java.util.EnumSet; import org.junit.After; @@ -65,7 +67,7 @@ public class TpSlotsTests { @BeforeClass public static void setUpClass() { - Assume.assumeTrue(Runtime.version().feature() >= 22); + Assume.assumeTrue(SUPPORTS_PANAMA); } @Before diff --git a/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/builtin/objects/cext/SlotWrapperTests.java b/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/builtin/objects/cext/SlotWrapperTests.java index 13e633f01a..9970dc920c 100644 --- a/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/builtin/objects/cext/SlotWrapperTests.java +++ b/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/builtin/objects/cext/SlotWrapperTests.java @@ -40,6 +40,7 @@ */ package com.oracle.graal.python.test.builtin.objects.cext; +import static com.oracle.graal.python.test.integration.Utils.SUPPORTS_PANAMA; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.instanceOf; import static org.hamcrest.CoreMatchers.not; @@ -72,7 +73,7 @@ public class SlotWrapperTests { @BeforeClass public static void setUpClass() { Assume.assumeFalse(System.getProperty("os.name").toLowerCase().contains("mac")); - Assume.assumeTrue(Runtime.version().feature() >= 22); + Assume.assumeTrue(SUPPORTS_PANAMA); } @Before diff --git a/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/nodes/MemMoveNodeTests.java b/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/nodes/MemMoveNodeTests.java index c472150be6..a9fec087cb 100644 --- a/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/nodes/MemMoveNodeTests.java +++ b/graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/nodes/MemMoveNodeTests.java @@ -40,6 +40,8 @@ */ package com.oracle.graal.python.test.nodes; +import static com.oracle.graal.python.test.integration.Utils.SUPPORTS_PANAMA; + import com.oracle.graal.python.builtins.objects.PNone; import com.oracle.graal.python.builtins.objects.cext.capi.CApiContext; import com.oracle.graal.python.builtins.objects.common.SequenceStorageNodes.MemMoveNode; @@ -68,7 +70,7 @@ public class MemMoveNodeTests { @BeforeClass public static void setUpClass() { Assume.assumeFalse(System.getProperty("os.name").toLowerCase().contains("mac")); - Assume.assumeTrue(Runtime.version().feature() >= 22); + Assume.assumeTrue(SUPPORTS_PANAMA); } @Before