gradle / test-retry-gradle-plugin

Gradle plugin to retry tests that have failed to mitigate test flakiness.
Apache License 2.0
220 stars 49 forks source link

Fix class-level retry with Gradle 5.0 and Suite engine or @Nested test classes #231

Closed snoopcheri closed 10 months ago

snoopcheri commented 10 months ago

This PR adds special handling when Gradle 5.0 is used.

At the end of each round, entries for test classes w/o test methods from previousRoundFailedTests, when using Gradle 5.0. For Gradle 5.1 and above this would automatically happen, as Gradle also reports events for intermediate classes, when JUnit's suite engine is used or when test classes are @nested.

To be on the safe side, we're only removing entries for test classes, if we observed this test class during the current round. It's not a perfect solution but allows using the class-retry feature of the Test Retry Gradle plugin together with test suites and nested class for Gradle 5.0 as well.

Fixes #230