Edwin Günthner
10/07/2025, 9:40 AMignoreFailures=true to keep running unit tests, even after a failure in one of the sub projects.reporting {
reports {
val failureCheck = gradle.sharedServices.registerIfAbsent("testFailureCheck", TestFailureCheck::class) {}
@Suppress("UnstableApiUsage")
val testAggregateTestReport by creating(AggregateTestReport::class) {
testSuiteName = "unit-tests"
reportTask.configure {
doLast {
// print a short summary and fail build if any test failed
failureCheck.get().execute(destinationDirectory.get().asFile)
}
}
test.configure {
dependsOn(reportTask)
}
}
doLast got called always, and then our check got executed.doLast isn't invoked any more. (I think 8.13 slightly change the overall handling, as it introduced that testSuiteName property for the aggregate code.testSuiteName = "unit-tests"
Previously, the test report used an enum, and now asked for a string, so I just wrote down "unit-tests".
Which is wrong - this needs to refer an existing test suite, and in our case, that would be the default ("test"). With that change, things work as expected.TheGoesen
10/07/2025, 10:00 AMignoreFailures over just passing `--continue`on the commandline ?
we just use --continue and that seems to match what you are doing...Vampire
10/07/2025, 10:21 AMtest-report-aggregation pluginEdwin Günthner
10/07/2025, 10:28 AM--continue affects any failing task. And it requires users to actually put it on the command line.Edwin Günthner
10/07/2025, 10:32 AMTheGoesen
10/07/2025, 10:35 AMTheGoesen
10/07/2025, 10:36 AMVampire
10/07/2025, 10:43 AMEdwin Günthner
10/07/2025, 10:45 AMTheGoesen
10/07/2025, 10:56 AMtest depends on the aggregation-report, but the job of the aggregation would be to aggregate the report of exactly that test?Edwin Günthner
10/07/2025, 1:01 PM