diff --git a/.github/workflows/jpos.yml b/.github/workflows/jpos.yml index 853ac7fd73..89c4f7a8fc 100644 --- a/.github/workflows/jpos.yml +++ b/.github/workflows/jpos.yml @@ -7,7 +7,7 @@ jobs: strategy: fail-fast: false matrix: - java: [ 25 ] + java: [ 26 ] os: [ubuntu-latest] runs-on: ${{ matrix.os }} steps: diff --git a/.sdkmanrc b/.sdkmanrc index a493f64f02..9d92f8362a 100644 --- a/.sdkmanrc +++ b/.sdkmanrc @@ -1,3 +1,3 @@ -java=25.0.1-amzn -gradle=9.2.1 +java=26-amzn +gradle=9.4.1 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index f8e1ee3125..d997cfc60f 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 23449a2b54..c61a118f7d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index adff685a03..739907dfd1 100755 --- a/gradlew +++ b/gradlew @@ -57,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/2d6327017519d23b96af35865dc997fcb544fb40/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. diff --git a/jpos/src/test/java/org/jpos/iso/packager/GenericPackagerTest.java b/jpos/src/test/java/org/jpos/iso/packager/GenericPackagerTest.java index 3f31762a03..96eb24a7e3 100644 --- a/jpos/src/test/java/org/jpos/iso/packager/GenericPackagerTest.java +++ b/jpos/src/test/java/org/jpos/iso/packager/GenericPackagerTest.java @@ -301,7 +301,7 @@ public void testGenericContentHandlerStartElementThrowsSAXException() throws Thr if (isJavaVersionAtMost(JAVA_10)) { assertNull(ex.getMessage(), "ex.getMessage()"); } else if (isJavaVersionAtMost(JAVA_14)) { - assertEquals("java.lang.NullPointerException", ex.getMessage(), "ex.getMessage()"); + assertTrue(ex.getMessage().startsWith("java.lang.NullPointerException"), "ex.getMessage()"); } else { assertEquals("java.lang.NullPointerException: Cannot invoke \"org.xml.sax.Attributes.getValue(String)\" because \"atts\" is null", ex.getMessage(), "ex.getMessage()"); } @@ -325,9 +325,9 @@ public void testGenericContentHandlerStartElementThrowsSAXException1() throws Th if (isJavaVersionAtMost(JAVA_10)) { assertNull(ex.getMessage(), "ex.getMessage()"); } else { - assertEquals("java.lang.NullPointerException", ex.getMessage(), "ex.getMessage()"); + assertTrue(ex.getMessage().startsWith("java.lang.NullPointerException"), "ex.getMessage()"); } - assertNull(ex.getException().getMessage(), "ex.getException().getMessage()"); + assertTrue(ex.getException() instanceof NullPointerException, "ex.getException()"); assertEquals(0, atts.getLength(), "(AttributesImpl) atts.getLength()"); } } @@ -344,7 +344,7 @@ public void testGenericContentHandlerStartElementThrowsSAXException2() throws Th if (isJavaVersionAtMost(JAVA_10)) { assertNull(ex.getMessage(), "ex.getMessage()"); } else if (isJavaVersionAtMost(JAVA_14)) { - assertEquals("java.lang.NullPointerException", ex.getMessage(), "ex.getMessage()"); + assertTrue(ex.getMessage().startsWith("java.lang.NullPointerException"), "ex.getMessage()"); } else { assertEquals("java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because \"localName\" is null", ex.getMessage(), "ex.getMessage()"); } @@ -368,7 +368,7 @@ public void testGenericContentHandlerStartElementThrowsSAXException3() throws Th if (isJavaVersionAtMost(JAVA_10)) { assertNull(ex.getMessage(), "ex.getMessage()"); } else if (isJavaVersionAtMost(JAVA_14)) { - assertEquals("java.lang.NullPointerException", ex.getMessage(), "ex.getMessage()"); + assertTrue(ex.getMessage().startsWith("java.lang.NullPointerException"), "ex.getMessage()"); } else { assertEquals("java.lang.NullPointerException: Cannot invoke \"java.util.Stack.push(Object)\" because \"this.fieldStack\" is null", ex.getMessage(), "ex.getMessage()"); } diff --git a/jpos/src/test/java/org/jpos/iso/packager/GenericValidatingPackagerTest.java b/jpos/src/test/java/org/jpos/iso/packager/GenericValidatingPackagerTest.java index c5b51b8bfd..d537e4e225 100644 --- a/jpos/src/test/java/org/jpos/iso/packager/GenericValidatingPackagerTest.java +++ b/jpos/src/test/java/org/jpos/iso/packager/GenericValidatingPackagerTest.java @@ -411,9 +411,9 @@ public void testGenericValidatorContentHandlerStartElementThrowsSAXException1() if (isJavaVersionAtMost(JAVA_10)) { assertNull(ex.getMessage(), "ex.getMessage()"); } else { - assertEquals("java.lang.NullPointerException", ex.getMessage(), "ex.getMessage()"); + assertTrue(ex.getMessage().startsWith("java.lang.NullPointerException"), "ex.getMessage()"); } - assertNull(ex.getException().getMessage(), "ex.getException().getMessage()"); + assertTrue(ex.getException() instanceof NullPointerException, "ex.getException()"); assertEquals(0, atts.getLength(), "(AttributesImpl) atts.getLength()"); } } @@ -430,7 +430,7 @@ public void testGenericValidatorContentHandlerStartElementThrowsSAXException10() if (isJavaVersionAtMost(JAVA_10)) { assertNull(ex.getMessage(), "ex.getMessage()"); } else if (isJavaVersionAtMost(JAVA_14)) { - assertEquals("java.lang.NullPointerException", ex.getMessage(), "ex.getMessage()"); + assertTrue(ex.getMessage().startsWith("java.lang.NullPointerException"), "ex.getMessage()"); } else { assertEquals("java.lang.NullPointerException: Cannot invoke \"java.util.Stack.push(Object)\" because \"this.fieldStack\" is null", ex.getMessage(), "ex.getMessage()"); } @@ -453,7 +453,7 @@ public void testGenericValidatorContentHandlerStartElementThrowsSAXException11() if (isJavaVersionAtMost(JAVA_10)) { assertNull(ex.getMessage(), "ex.getMessage()"); } else if (isJavaVersionAtMost(JAVA_14)) { - assertEquals("java.lang.NullPointerException", ex.getMessage(), "ex.getMessage()"); + assertTrue(ex.getMessage().startsWith("java.lang.NullPointerException"), "ex.getMessage()"); } else { assertEquals("java.lang.NullPointerException: Cannot invoke \"org.xml.sax.Attributes.getValue(String)\" because \"atts\" is null", ex.getMessage(), "ex.getMessage()"); } @@ -477,7 +477,7 @@ public void testGenericValidatorContentHandlerStartElementThrowsSAXException2() if (isJavaVersionAtMost(JAVA_10)) { assertNull(ex.getMessage(), "ex.getMessage()"); } else if (isJavaVersionAtMost(JAVA_14)) { - assertEquals("java.lang.NullPointerException", ex.getMessage(), "ex.getMessage()"); + assertTrue(ex.getMessage().startsWith("java.lang.NullPointerException"), "ex.getMessage()"); } else { assertEquals("java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because \"localName\" is null", ex.getMessage(), "ex.getMessage()"); } @@ -500,7 +500,7 @@ public void testGenericValidatorContentHandlerStartElementThrowsSAXException3() if (isJavaVersionAtMost(JAVA_10)) { assertNull(ex.getMessage(), "ex.getMessage()"); } else if (isJavaVersionAtMost(JAVA_14)) { - assertEquals("java.lang.NullPointerException", ex.getMessage(), "ex.getMessage()"); + assertTrue(ex.getMessage().startsWith("java.lang.NullPointerException"), "ex.getMessage()"); } else { assertEquals("java.lang.NullPointerException: Cannot invoke \"org.xml.sax.Attributes.getValue(String)\" because \"atts\" is null", ex.getMessage(), "ex.getMessage()"); } @@ -523,7 +523,7 @@ public void testGenericValidatorContentHandlerStartElementThrowsSAXException4() if (isJavaVersionAtMost(JAVA_10)) { assertNull(ex.getMessage(), "ex.getMessage()"); } else if (isJavaVersionAtMost(JAVA_14)) { - assertEquals("java.lang.NullPointerException", ex.getMessage(), "ex.getMessage()"); + assertTrue(ex.getMessage().startsWith("java.lang.NullPointerException"), "ex.getMessage()"); } else { assertEquals("java.lang.NullPointerException: Cannot invoke \"org.xml.sax.Attributes.getValue(String)\" because \"atts\" is null", ex.getMessage(), "ex.getMessage()"); } @@ -547,9 +547,9 @@ public void testGenericValidatorContentHandlerStartElementThrowsSAXException5() if (isJavaVersionAtMost(JAVA_10)) { assertNull(ex.getMessage(), "ex.getMessage()"); } else { - assertEquals("java.lang.NullPointerException", ex.getMessage(), "ex.getMessage()"); + assertTrue(ex.getMessage().startsWith("java.lang.NullPointerException"), "ex.getMessage()"); } - assertNull(ex.getException().getMessage(), "ex.getException().getMessage()"); + assertTrue(ex.getException() instanceof NullPointerException, "ex.getException()"); assertEquals(0, atts.getLength(), "(AttributesImpl) atts.getLength()"); } } @@ -565,7 +565,7 @@ public void testGenericValidatorContentHandlerStartElementThrowsSAXException6() if (isJavaVersionAtMost(JAVA_10)) { assertNull(ex.getMessage(), "ex.getMessage()"); } else if (isJavaVersionAtMost(JAVA_14)) { - assertEquals("java.lang.NullPointerException", ex.getMessage(), "ex.getMessage()"); + assertTrue(ex.getMessage().startsWith("java.lang.NullPointerException"), "ex.getMessage()"); } else { assertEquals("java.lang.NullPointerException: Cannot invoke \"org.xml.sax.Attributes.getValue(String)\" because \"atts\" is null", ex.getMessage(), "ex.getMessage()"); } @@ -589,9 +589,9 @@ public void testGenericValidatorContentHandlerStartElementThrowsSAXException7() if (isJavaVersionAtMost(JAVA_10)) { assertNull(ex.getMessage(), "ex.getMessage()"); } else { - assertEquals("java.lang.NullPointerException", ex.getMessage(), "ex.getMessage()"); + assertTrue(ex.getMessage().startsWith("java.lang.NullPointerException"), "ex.getMessage()"); } - assertNull(ex.getException().getMessage(), "ex.getException().getMessage()"); + assertTrue(ex.getException() instanceof NullPointerException, "ex.getException()"); assertEquals(0, atts.getLength(), "(AttributesImpl) atts.getLength()"); } } @@ -608,7 +608,7 @@ public void testGenericValidatorContentHandlerStartElementThrowsSAXException8() if (isJavaVersionAtMost(JAVA_10)) { assertNull(ex.getMessage(), "ex.getMessage()"); } else if (isJavaVersionAtMost(JAVA_14)) { - assertEquals("java.lang.NullPointerException", ex.getMessage(), "ex.getMessage()"); + assertTrue(ex.getMessage().startsWith("java.lang.NullPointerException"), "ex.getMessage()"); } else { assertEquals("java.lang.NullPointerException: Cannot invoke \"org.xml.sax.Attributes.getValue(String)\" because \"atts\" is null", ex.getMessage(), "ex.getMessage()"); } @@ -632,7 +632,7 @@ public void testGenericValidatorContentHandlerStartElementThrowsSAXException9() if (isJavaVersionAtMost(JAVA_10)) { assertNull(ex.getMessage(), "ex.getMessage()"); } else if (isJavaVersionAtMost(JAVA_14)) { - assertEquals("java.lang.NullPointerException", ex.getMessage(), "ex.getMessage()"); + assertTrue(ex.getMessage().startsWith("java.lang.NullPointerException"), "ex.getMessage()"); } else { assertEquals("java.lang.NullPointerException: Cannot invoke \"java.util.Stack.peek()\" because \"this.validatorStack\" is null", ex.getMessage(), "ex.getMessage()"); } diff --git a/jpos/src/test/java/org/jpos/space/LSpaceTest.java b/jpos/src/test/java/org/jpos/space/LSpaceTest.java index bf2a0ec3a0..108271b207 100644 --- a/jpos/src/test/java/org/jpos/space/LSpaceTest.java +++ b/jpos/src/test/java/org/jpos/space/LSpaceTest.java @@ -709,6 +709,7 @@ public void testEntryEventuallyRemovedAfterWaitersDrain() throws Exception { final int waiters = 10; final CountDownLatch started = new CountDownLatch(waiters); final CountDownLatch waiterReadyToIn = new CountDownLatch(waiters); + final CountDownLatch inpDone = new CountDownLatch(1); final CountDownLatch done = new CountDownLatch(waiters); for (int i = 0; i < waiters; i++) { @@ -716,7 +717,7 @@ public void testEntryEventuallyRemovedAfterWaitersDrain() throws Exception { started.countDown(); assertEquals("warmup", lsp.rd(key)); waiterReadyToIn.countDown(); - LockSupport.parkNanos(1_000_000L); + try { inpDone.await(2, TimeUnit.SECONDS); } catch (InterruptedException ignored) {} String v = lsp.in(key); assertNotNull(v, "Waiter should eventually get a value"); assertTrue(v.startsWith("v"), "Waiter should get 'vN' where N=[0.."+(waiters-1)+"] but got '"+v+"'"); @@ -729,6 +730,7 @@ public void testEntryEventuallyRemovedAfterWaitersDrain() throws Exception { lsp.out(key, "warmup"); assertTrue(waiterReadyToIn.await(2, TimeUnit.SECONDS)); assertEquals("warmup", lsp.inp(key)); + inpDone.countDown(); // Feed values. for (int i = 0; i < waiters; i++) {