Skip to content

Conversation

@pshevche
Copy link
Member

Summary

SAP reports a number of issues when TestNG run with JUnit TestNG Engine are retried:

  1. Methods with dependencies are not retried.
  2. Lifecycle failure retries are reported as unsuccessful.
  3. All these failures result in a Build Scan not being published.

This PR addresses the first two and I manually verified that the fix also resolves Build Scan publication errors. The plan forward is to release a Develocity plugin RC with this fix and validate with the customer if all of the issues are resolved.

@pshevche pshevche requested a review from a team July 11, 2024 14:01
@pshevche pshevche self-assigned this Jul 11, 2024
.filter(test -> testFrameworkStrategy.isExpectedUnretriedTest(entry.getKey(), test))
.collect(Collectors.toSet())
));
expectedUnretriedTests.forEach((className, tests) -> previousRoundFailedTests.remove(className, tests::contains));
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💬 Ideally, we would also report failed descriptors as successful, but at this point, we have no clue where in the hierarchy they belong or how to construct a valid descriptor.

With all of the issues with the TestNG reporting, it seems like putting lipstick on a pig. So, I suggest not to bother and just make sure that retries work correctly.

@pshevche pshevche force-pushed the pshevche/support-testng-engine branch 2 times, most recently from 8c6e2aa to 0e804e3 Compare July 11, 2024 14:07
@pshevche pshevche force-pushed the pshevche/support-testng-engine branch from 0e804e3 to 5f18200 Compare July 12, 2024 07:08
@pshevche pshevche force-pushed the pshevche/support-testng-engine branch from 5f18200 to f2ce44e Compare July 12, 2024 07:09
public class OrderedTests {
@Test(dependsOnMethods = {"childTest"})
public void grandchildTest() {}
public void grandChildTest() {}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Afaik grandchild is a single word, so the case could be made to leave the casing as-is

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree, it is hard to make assertions, though, because childTest matches both the childTest and the grandchildTest.

@pshevche pshevche merged commit 899dc9a into main Jul 15, 2024
@pshevche pshevche deleted the pshevche/support-testng-engine branch July 15, 2024 14:20
@pshevche pshevche added this to the 1.5.10 milestone Jul 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants