diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index dd5b8c25a..7c93a84e7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -118,7 +118,7 @@ jobs: strategy: matrix: java: [ 11, 17 ] - junit-version: [ '5.8.2' ] + junit-version: [ '5.9.0' ] modular: [true, false] os: [ubuntu, macos, windows] name: with Java ${{ matrix.java }}, JUnit ${{ matrix.junit-version }}, Modular ${{ matrix.modular }} on ${{ matrix.os }} @@ -147,7 +147,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - junit-version: [ '5.8.2' ] + junit-version: [ '5.9.0' ] modular: [true, false] os: [ubuntu, macos, windows] name: Experimental build with newest JDK early-access build and Gradle release candidate diff --git a/gradle.properties b/gradle.properties index 038de1dca..c1b4a6a55 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -junitVersion=5.8.2 +junitVersion=5.9.0 # Ensure sufficient heap size, especially for Sonar. org.gradle.jvmargs=-Xmx8g diff --git a/src/demo/java/org/junitpioneer/jupiter/EnvironmentVariablesExtensionDemo.java b/src/demo/java/org/junitpioneer/jupiter/EnvironmentVariablesExtensionDemo.java index adea8afd8..f94b48779 100644 --- a/src/demo/java/org/junitpioneer/jupiter/EnvironmentVariablesExtensionDemo.java +++ b/src/demo/java/org/junitpioneer/jupiter/EnvironmentVariablesExtensionDemo.java @@ -13,7 +13,10 @@ import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.EnabledForJreRange; +import org.junit.jupiter.api.condition.JRE; +@EnabledForJreRange(max = JRE.JAVA_16, disabledReason = "See: https://github.com/junit-pioneer/junit-pioneer/issues/509") public class EnvironmentVariablesExtensionDemo { // tag::environment_clear_simple[] diff --git a/src/test/java/org/junitpioneer/internal/TestExtensionContext.java b/src/test/java/org/junitpioneer/internal/TestExtensionContext.java index 50961e65b..2d3122185 100644 --- a/src/test/java/org/junitpioneer/internal/TestExtensionContext.java +++ b/src/test/java/org/junitpioneer/internal/TestExtensionContext.java @@ -18,6 +18,7 @@ import java.util.function.Function; import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.api.extension.ExecutableInvoker; import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.api.extension.TestInstances; import org.junit.jupiter.api.parallel.ExecutionMode; @@ -42,11 +43,16 @@ public TestExtensionContext(Class testClass, Method testMethod) { this.testMethod = testMethod; } - // @Override once we baseline against 5.8 + @Override public ExecutionMode getExecutionMode() { throw NOT_SUPPORTED_IN_TEST_CONTEXT; } + @Override + public ExecutableInvoker getExecutableInvoker() { + throw NOT_SUPPORTED_IN_TEST_CONTEXT; + } + @Override public Optional> getTestClass() { return Optional.of(testClass); diff --git a/src/test/java/org/junitpioneer/jupiter/AbstractEntryBasedExtensionTests.java b/src/test/java/org/junitpioneer/jupiter/AbstractEntryBasedExtensionTests.java index 1957fc7cc..b4b97c351 100644 --- a/src/test/java/org/junitpioneer/jupiter/AbstractEntryBasedExtensionTests.java +++ b/src/test/java/org/junitpioneer/jupiter/AbstractEntryBasedExtensionTests.java @@ -16,8 +16,11 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.EnabledForJreRange; +import org.junit.jupiter.api.condition.JRE; import org.junitpioneer.testkit.PioneerTestKit; +@EnabledForJreRange(max = JRE.JAVA_16, disabledReason = "See: https://github.com/junit-pioneer/junit-pioneer/issues/509") @DisplayName("Abstract entry-based extension") @WritesEnvironmentVariable @WritesSystemProperty diff --git a/src/test/java/org/junitpioneer/jupiter/cartesian/CartesianTestExtensionTests.java b/src/test/java/org/junitpioneer/jupiter/cartesian/CartesianTestExtensionTests.java index 66c81e4ec..86fb2d4f1 100644 --- a/src/test/java/org/junitpioneer/jupiter/cartesian/CartesianTestExtensionTests.java +++ b/src/test/java/org/junitpioneer/jupiter/cartesian/CartesianTestExtensionTests.java @@ -576,7 +576,7 @@ void nonEnumParameterWithCartesianEnumSourceOmittedType() { .hasSingleFailedContainer() .withExceptionInstanceOf(ExtensionConfigurationException.class) .hasMessageContaining("Could not provide arguments") - .getCause() + .cause() .isInstanceOf(PreconditionViolationException.class) .hasMessageContaining("Parameter of type %s must reference an Enum type", int.class); } diff --git a/src/test/java/org/junitpioneer/jupiter/json/JsonSourceArgumentsProviderTests.java b/src/test/java/org/junitpioneer/jupiter/json/JsonSourceArgumentsProviderTests.java index 25668d10c..2e1e750fb 100644 --- a/src/test/java/org/junitpioneer/jupiter/json/JsonSourceArgumentsProviderTests.java +++ b/src/test/java/org/junitpioneer/jupiter/json/JsonSourceArgumentsProviderTests.java @@ -214,7 +214,7 @@ void noValuesCartesian() { assertThat(results) .hasSingleFailedContainer() .withExceptionInstanceOf(ExtensionConfigurationException.class) - .getCause() + .cause() .isInstanceOf(PreconditionViolationException.class) .hasMessage("value must not be empty"); }