Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/cross-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
strategy:
fail-fast: false
matrix:
jdk: [19, 20, 21]
jdk: [20, 21, 22]
name: "OpenJDK ${{ matrix.jdk }}"
runs-on: ubuntu-latest
steps:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ JUnit repository on GitHub.
* Lifecycle and thread-safety semantics are now documented for the `TempDirFactory` SPI.
* The scope of applicability for `TestWatcher` implementations is now more extensively
documented in the User Guide and Javadoc.
* `JAVA_22` has been added to the `JRE` enum for use with JRE-based execution conditions.


[[release-notes-5.10.0-RC1-junit-vintage]]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
* @see #JAVA_19
* @see #JAVA_20
* @see #JAVA_21
* @see #JAVA_22
* @see #OTHER
* @see EnabledOnJre
* @see DisabledOnJre
Expand Down Expand Up @@ -153,12 +154,21 @@ public enum JRE {
@API(status = STABLE, since = "5.9.2")
JAVA_21,

/**
* Java 22.
*
* @since 5.10
*/
@API(status = STABLE, since = "5.9.2")
JAVA_22,

/**
* A JRE version other than {@link #JAVA_8}, {@link #JAVA_9},
* {@link #JAVA_10}, {@link #JAVA_11}, {@link #JAVA_12},
* {@link #JAVA_13}, {@link #JAVA_14}, {@link #JAVA_15},
* {@link #JAVA_16}, {@link #JAVA_17}, {@link #JAVA_18},
* {@link #JAVA_19}, {@link #JAVA_20}, or {@link #JAVA_21}.
* {@link #JAVA_19}, {@link #JAVA_20}, {@link #JAVA_21}, or
* {@link #JAVA_22}.
*/
OTHER;

Expand Down Expand Up @@ -214,6 +224,8 @@ private static JRE determineCurrentVersion() {
return JAVA_20;
case 21:
return JAVA_21;
case 22:
return JAVA_22;
default:
return OTHER;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava19;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava20;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava21;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava22;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava8;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava9;

Expand Down Expand Up @@ -116,7 +117,7 @@ void other() {
evaluateCondition();
assertDisabledOnCurrentJreIf(
!(onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13() || onJava14() || onJava15()
|| onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21()));
|| onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21() || onJava22()));
}

private void assertDisabledOnCurrentJreIf(boolean condition) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava19;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava20;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava21;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava22;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava8;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava9;
import static org.junit.jupiter.api.condition.JRE.JAVA_17;
Expand Down Expand Up @@ -82,8 +83,9 @@ void javaMin18() {
@Test
@DisabledForJreRange(min = OTHER, max = OTHER)
void other() {
assertTrue(onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13() || onJava14()
|| onJava15() || onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21());
assertTrue(
onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13() || onJava14() || onJava15()
|| onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21() || onJava22());
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava19;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava20;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava21;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava22;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava8;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava9;

Expand Down Expand Up @@ -206,6 +207,15 @@ void java21() {
assertDisabledOnCurrentJreIf(onJava21());
}

/**
* @see DisabledOnJreIntegrationTests#java22()
*/
@Test
void java22() {
evaluateCondition();
assertDisabledOnCurrentJreIf(onJava22());
}

/**
* @see DisabledOnJreIntegrationTests#other()
*/
Expand All @@ -214,7 +224,7 @@ void other() {
evaluateCondition();
assertDisabledOnCurrentJreIf(
!(onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13() || onJava14() || onJava15()
|| onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21()));
|| onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21() || onJava22()));
}

private void assertDisabledOnCurrentJreIf(boolean condition) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava19;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava20;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava21;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava22;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava8;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava9;
import static org.junit.jupiter.api.condition.JRE.JAVA_10;
Expand All @@ -39,6 +40,7 @@
import static org.junit.jupiter.api.condition.JRE.JAVA_19;
import static org.junit.jupiter.api.condition.JRE.JAVA_20;
import static org.junit.jupiter.api.condition.JRE.JAVA_21;
import static org.junit.jupiter.api.condition.JRE.JAVA_22;
import static org.junit.jupiter.api.condition.JRE.JAVA_8;
import static org.junit.jupiter.api.condition.JRE.JAVA_9;
import static org.junit.jupiter.api.condition.JRE.OTHER;
Expand Down Expand Up @@ -66,7 +68,7 @@ void missingJreDeclaration() {

@Test
@DisabledOnJre(value = { JAVA_8, JAVA_9, JAVA_10, JAVA_11, JAVA_12, JAVA_13, JAVA_14, JAVA_15, JAVA_16, JAVA_17,
JAVA_18, JAVA_19, JAVA_20, JAVA_21, OTHER }, disabledReason = "Disabled on every JRE")
JAVA_18, JAVA_19, JAVA_20, JAVA_21, JAVA_22, OTHER }, disabledReason = "Disabled on every JRE")
void disabledOnAllJavaVersions() {
fail("should be disabled");
}
Expand Down Expand Up @@ -155,11 +157,18 @@ void java21() {
assertFalse(onJava21());
}

@Test
@DisabledOnJre(JAVA_22)
void java22() {
assertFalse(onJava22());
}

@Test
@DisabledOnJre(OTHER)
void other() {
assertTrue(onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13() || onJava14()
|| onJava15() || onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21());
assertTrue(
onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13() || onJava14() || onJava15()
|| onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21() || onJava22());
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava19;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava20;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava21;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava22;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava8;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava9;

Expand Down Expand Up @@ -115,7 +116,7 @@ void other() {
evaluateCondition();
assertEnabledOnCurrentJreIf(
!(onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13() || onJava14() || onJava15()
|| onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21()));
|| onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21() || onJava22()));
}

private void assertEnabledOnCurrentJreIf(boolean condition) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava19;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava20;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava21;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava22;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava8;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava9;
import static org.junit.jupiter.api.condition.JRE.JAVA_17;
Expand Down Expand Up @@ -78,15 +79,16 @@ void javaMax18() {
@Test
@EnabledForJreRange(min = JAVA_18)
void javaMin18() {
assertTrue(onJava18() || onJava19() || onJava20() || onJava21());
assertTrue(onJava18() || onJava19() || onJava20() || onJava21() || onJava22());
assertFalse(onJava17());
}

@Test
@EnabledForJreRange(min = OTHER, max = OTHER)
void other() {
assertFalse(onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13() || onJava14()
|| onJava15() || onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21());
assertFalse(
onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13() || onJava14() || onJava15()
|| onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21() || onJava22());
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava19;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava20;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava21;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava22;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava8;
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava9;

Expand Down Expand Up @@ -205,6 +206,15 @@ void java21() {
assertEnabledOnCurrentJreIf(onJava21());
}

/**
* @see EnabledOnJreIntegrationTests#java22()
*/
@Test
void java22() {
evaluateCondition();
assertEnabledOnCurrentJreIf(onJava22());
}

/**
* @see EnabledOnJreIntegrationTests#other()
*/
Expand All @@ -213,7 +223,7 @@ void other() {
evaluateCondition();
assertEnabledOnCurrentJreIf(
!(onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13() || onJava14() || onJava15()
|| onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21()));
|| onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21() || onJava22()));
assertCustomDisabledReasonIs("Disabled on almost every JRE");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import static org.junit.jupiter.api.condition.JRE.JAVA_19;
import static org.junit.jupiter.api.condition.JRE.JAVA_20;
import static org.junit.jupiter.api.condition.JRE.JAVA_21;
import static org.junit.jupiter.api.condition.JRE.JAVA_22;
import static org.junit.jupiter.api.condition.JRE.JAVA_8;
import static org.junit.jupiter.api.condition.JRE.JAVA_9;
import static org.junit.jupiter.api.condition.JRE.OTHER;
Expand Down Expand Up @@ -53,7 +54,7 @@ void missingJreDeclaration() {

@Test
@EnabledOnJre({ JAVA_8, JAVA_9, JAVA_10, JAVA_11, JAVA_12, JAVA_13, JAVA_14, JAVA_15, JAVA_16, JAVA_17, JAVA_18,
JAVA_19, JAVA_20, JAVA_21, OTHER })
JAVA_19, JAVA_20, JAVA_21, JAVA_22, OTHER })
void enabledOnAllJavaVersions() {
}

Expand Down Expand Up @@ -141,11 +142,18 @@ void java21() {
assertTrue(onJava21());
}

@Test
@EnabledOnJre(JAVA_22)
void java22() {
assertTrue(onJava22());
}

@Test
@EnabledOnJre(value = OTHER, disabledReason = "Disabled on almost every JRE")
void other() {
assertFalse(onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13() || onJava14()
|| onJava15() || onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21());
assertFalse(
onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13() || onJava14() || onJava15()
|| onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21() || onJava22());
}

static boolean onJava8() {
Expand Down Expand Up @@ -204,4 +212,8 @@ static boolean onJava21() {
return JAVA_VERSION.startsWith("21");
}

static boolean onJava22() {
return JAVA_VERSION.startsWith("22");
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import static org.junit.jupiter.api.condition.JRE.JAVA_19;
import static org.junit.jupiter.api.condition.JRE.JAVA_20;
import static org.junit.jupiter.api.condition.JRE.JAVA_21;
import static org.junit.jupiter.api.condition.JRE.JAVA_22;
import static org.junit.jupiter.api.condition.JRE.OTHER;

import org.junit.jupiter.api.Test;
Expand Down Expand Up @@ -57,6 +58,12 @@ void java21() {
assertEquals(JAVA_21, JRE.currentVersion());
}

@Test
@EnabledOnJre(JAVA_22)
void java22() {
assertEquals(JAVA_22, JRE.currentVersion());
}

@Test
@EnabledOnJre(OTHER)
void other() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ void compile() throws Exception {
var result = Request.builder() //
.setTool(new Javac()) //
.setProject("standalone") //
.addArguments("-proc:none") //
.addArguments("-d", workspace.resolve("bin")) //
.addArguments("--class-path", MavenRepo.jar("junit-platform-console-standalone")) //
.addArguments(workspace.resolve("src/standalone/JupiterIntegration.java")) //
Expand Down