From c1db53bd12034b2056122de8cab90eb2ea99e1c4 Mon Sep 17 00:00:00 2001 From: Philipp Gesang Date: Fri, 10 Feb 2023 09:51:56 +0100 Subject: [PATCH] ignore pointer size tests As of JVM 12 and later it is no longer possible to cast away the ``final`` modifier using reflection so the ``forece{32,64}Bit`` helpers error out with an exception: Tests run: 34, Failures: 0, Errors: 2, Skipped: 1, Time elapsed: 0.052 sec <<< FAILURE! - in org.bridj.DemanglingTest testIntVsPointer_32bits(org.bridj.DemanglingTest) Time elapsed: 0.006 sec <<< ERROR! java.lang.RuntimeException: java.lang.NoSuchFieldException: modifiers at java.base/java.lang.Class.getDeclaredField(Class.java:2610) at org.bridj.util.ReflectionUtils.makeFieldWritable(ReflectionUtils.java:42) at org.bridj.util.PlatformTestUtils.forcePointerSize(PlatformTestUtils.java:22) at org.bridj.util.PlatformTestUtils.force32Bits(PlatformTestUtils.java:30) at org.bridj.DemanglingTest.testIntVsPointer_32bits(DemanglingTest.java:553) testIntVsPointer_64bits(org.bridj.DemanglingTest) Time elapsed: 0.001 sec <<< ERROR! java.lang.RuntimeException: java.lang.NoSuchFieldException: modifiers at java.base/java.lang.Class.getDeclaredField(Class.java:2610) at org.bridj.util.ReflectionUtils.makeFieldWritable(ReflectionUtils.java:42) at org.bridj.util.PlatformTestUtils.forcePointerSize(PlatformTestUtils.java:22) at org.bridj.util.PlatformTestUtils.force64Bits(PlatformTestUtils.java:33) at org.bridj.DemanglingTest.testIntVsPointer_64bits(DemanglingTest.java:566) Disable those tests until the functionality can be restored. References: - https://bugs.openjdk.java.net/browse/JDK-8210522 - https://stackoverflow.com/a/56043252/7321177 Signed-off-by: Philipp Gesang --- src/test/java/org/bridj/DemanglingTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/test/java/org/bridj/DemanglingTest.java b/src/test/java/org/bridj/DemanglingTest.java index 6af7df24..26c18226 100644 --- a/src/test/java/org/bridj/DemanglingTest.java +++ b/src/test/java/org/bridj/DemanglingTest.java @@ -549,6 +549,7 @@ static void checkSymbol(String demanglerName, String str, MemberRef symbol, Type } @Test + @Ignore("Can’t work in JVM 12+: https://bugs.openjdk.org/browse/JDK-8210522") public void testIntVsPointer_32bits() throws NoSuchFieldException, IllegalArgumentException, IllegalAccessException { force32Bits(); @@ -562,6 +563,7 @@ public void testIntVsPointer_32bits() throws NoSuchFieldException, IllegalArgume } @Test + @Ignore("Can’t work in JVM 12+: https://bugs.openjdk.org/browse/JDK-8210522") public void testIntVsPointer_64bits() throws NoSuchFieldException, IllegalArgumentException, IllegalAccessException { force64Bits();