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]

Reply via email to