Jackie-Jiang opened a new pull request, #19675: URL: https://github.com/apache/pinot/pull/19675
## Summary Every test in the repo runs through Surefire's native TestNG provider again, and nothing from JUnit remains on any classpath. - **TestNG suites instead of the JUnit Platform bridge.** #19633 replaced the TestNG XML suites with `@Suite` classes run through `testng-engine`, which needed `junit-platform-suite`, `junit-platform-launcher` and the `OrderedTestNGSuite` listener to restore class order. This restores the explicit `surefire-testng` provider and the XML suites: the five integration suites as they were, a new `logical-table-integration-test-suite.xml` for the package #19652 added, and the two controller suites (with the `statefull` typo fixed). The lane profiles and the controller profile select them with `suiteXmlFiles`; CI profile ids are unchanged. - **`junit-jupiter-api` removed entirely.** Its only remaining runtime user was Kafka's `KafkaClusterTestKit.waitForReadyBrokers()`, whose polling helper (`TestUtils.waitForCondition`) calls JUnit's `assertTrue`. `EmbeddedKafkaCluster` now does the same two steps with public Kafka API (wait on each controller's `waitForReadyBrokers` future, then poll until every broker's metadata cache reports all brokers alive) and reports timeout through TestNG's `fail`. The dependency, its managed version and the version property go from the root POM and the four modules that declared it. - **Checkstyle rejects any `org.junit` import**, so JUnit cannot come back through a new test or a copied snippet. - The testing docs now say TestNG only. ## Notes - Surefire's provider auto-detection selects the JUnit Platform whenever `junit-platform-commons` is on the test classpath (which `junit-jupiter-api` alone brings) and then silently adds `testng-engine` when TestNG is present. Declaring the `surefire-testng` provider explicitly makes provider selection independent of classpath contents. - The logical-table suite lists its eight `BaseLogicalTableIntegrationTest` subclasses explicitly. TestNG's `<package>` include/exclude patterns match sub-package names rather than classes, so `KafkaPartitionSubsetChaosIntegrationTest` (which starts its own cluster) could not be excluded from a package selection; the lane profile still runs it directly. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
