diff --git a/gradle/testing/defaults-tests.gradle b/gradle/testing/defaults-tests.gradle index a840124ee0d..986e7770844 100644 --- a/gradle/testing/defaults-tests.gradle +++ b/gradle/testing/defaults-tests.gradle @@ -49,6 +49,9 @@ allprojects { [propName: 'tests.jvmargs', value: { -> propertyOrEnvOrDefault("tests.jvmargs", "TEST_JVM_ARGS", "-XX:TieredStopAtLevel=1") }, description: "Arguments passed to each forked JVM."], + // Other settings. + [propName: 'tests.neverUpToDate', value: true, + description: "Make test tasks always fail the up-to-date checks (rerun) even if the inputs have not changed."], ] // Resolves test option's value. @@ -90,6 +93,11 @@ allprojects { testOutputsDir = file("${reports.junitXml.destination}/outputs") } + // LUCENE-9660: Make it possible to always rerun tests, even if they're incrementally up-to-date. + if (resolvedTestOption("tests.neverUpToDate").toBoolean()) { + outputs.upToDateWhen { false } + } + maxParallelForks = resolvedTestOption("tests.jvms") as Integer if (verboseMode && maxParallelForks != 1) { logger.lifecycle("tests.jvm forced to 1 in verbose mode.")