From 231b4ab2c75bfc28210bd243ce6a8febe4134cac Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Tue, 29 Apr 2025 08:35:43 +0200 Subject: [PATCH 1/3] Update JUnit dependencies to 5.13.0-M3 --- gradle/libs.versions.toml | 4 ++-- samples/junit-tests/build.gradle | 5 ++--- samples/junit-tests/pom.xml | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 80e42d905..be6545add 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -11,8 +11,8 @@ mavenEmbedder = "3.9.9" mavenResolver = "1.9.22" graalvm = "23.0.2" openjson = "1.0.13" -junitPlatform = "1.11.0" -junitJupiter = "5.11.0" +junitPlatform = "1.13.0-M3" +junitJupiter = "5.13.0-M3" slf4j = "1.7.9" groovy = "3.0.11" jetty = "11.0.11" diff --git a/samples/junit-tests/build.gradle b/samples/junit-tests/build.gradle index 0e5021ca1..bed5aad7f 100644 --- a/samples/junit-tests/build.gradle +++ b/samples/junit-tests/build.gradle @@ -49,8 +49,8 @@ repositories { } dependencies { - testImplementation 'org.junit.jupiter:junit-jupiter:5.11.0' - testImplementation "org.junit.vintage:junit-vintage-engine:5.11.0" + testImplementation 'org.junit.jupiter:junit-jupiter:5.13.0-M3' + testImplementation "org.junit.vintage:junit-vintage-engine:5.13.0-M3" } application { @@ -62,4 +62,3 @@ tasks.named('test') { // Use JUnit Platform for unit tests. useJUnitPlatform() } - diff --git a/samples/junit-tests/pom.xml b/samples/junit-tests/pom.xml index 9cdc96369..a7015bb9f 100644 --- a/samples/junit-tests/pom.xml +++ b/samples/junit-tests/pom.xml @@ -51,7 +51,7 @@ 1.8 UTF-8 - 5.11.0 + 5.13.0-M3 0.10.7-SNAPSHOT 0.10.7-SNAPSHOT example-app From 14c34eaaf2b315463e7fc4ef29f8f9a7d8836d02 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Tue, 29 Apr 2025 08:36:06 +0200 Subject: [PATCH 2/3] Use matching version of junit-platform-launcher --- common/utils/build.gradle.kts | 1 + 1 file changed, 1 insertion(+) diff --git a/common/utils/build.gradle.kts b/common/utils/build.gradle.kts index 89f0ae503..4676dc2cc 100644 --- a/common/utils/build.gradle.kts +++ b/common/utils/build.gradle.kts @@ -52,4 +52,5 @@ dependencies { implementation(libs.openjson) testImplementation(platform(libs.test.junit.bom)) testImplementation(libs.test.junit.jupiter.core) + testRuntimeOnly(libs.test.junit.platform.launcher) } From 47e0d71e1a8c9b59d3bf94c957fc345fd34d2905 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Tue, 29 Apr 2025 08:36:25 +0200 Subject: [PATCH 3/3] Add test for `@ParameterizedClass` --- .../jupiter/ParameterizedClassTests.java | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 common/junit-platform-native/src/test/java/org/graalvm/junit/jupiter/ParameterizedClassTests.java diff --git a/common/junit-platform-native/src/test/java/org/graalvm/junit/jupiter/ParameterizedClassTests.java b/common/junit-platform-native/src/test/java/org/graalvm/junit/jupiter/ParameterizedClassTests.java new file mode 100644 index 000000000..96c051ab1 --- /dev/null +++ b/common/junit-platform-native/src/test/java/org/graalvm/junit/jupiter/ParameterizedClassTests.java @@ -0,0 +1,35 @@ +package org.graalvm.junit.jupiter; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInfo; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.ValueSource; + +abstract class BaseTests { + @Test + void test(TestInfo testInfo) { + Assertions.assertEquals(ParameterizedClassTests.InnerTests.class, testInfo.getTestClass().orElseThrow()); + } +} + +@ParameterizedClass +@ValueSource(ints = { 1, 2 }) +class ParameterizedClassTests { + + private final int value; + + ParameterizedClassTests(int value) { + this.value = value; + } + + @Test + void test() { + Assertions.assertTrue(value == 1 || value == 2); + } + + @Nested + class InnerTests extends BaseTests { + } +}