FrankChen021 commented on PR #19909: URL: https://github.com/apache/druid/pull/19909#issuecomment-5210586870
## Self-contained JUnit 5 helper follow-up Failure evidence from the original PR head `738ffbba9fc2e513eb1347d1fa793fedb791b0f7`: - The [QTest CI run](https://github.com/apache/druid/actions/runs/31134362585), job [92730410803](https://github.com/apache/druid/actions/runs/31134362585/job/92730410803), failed `druid-multi-stage-query` test compilation with the exact missing API: ``` MSQTestBase.java:[513,71] cannot find symbol symbol: method makeQueryRunnerFactory(ObjectMapper, GroupByQueryConfig, TestGroupByBuffers) location: class GroupByQueryRunnerTestHelper MSQCompactionTaskRunTest.java:[248,65] cannot find symbol symbol: method makeQueryRunnerFactory(ObjectMapper, GroupByQueryConfig, TestGroupByBuffers) MSQTaskQueryMakerTest.java:[197,50] cannot find symbol symbol: method makeQueryRunnerFactory(ObjectMapper, GroupByQueryConfig, TestGroupByBuffers) ``` - The same CI compilation also reported `MSQCompactionTaskRunTest.java:[217,22] cannot access org.junit.rules.ExternalResource`. This is the separate shared indexing-service fixture boundary: `CompactionTaskRunBase` still exposes JUnit 4 `TaskActionTestKit`. Fix in [dd94dd93539b6f1241bb2911f7308fb7228bdd10](https://github.com/apache/druid/commit/dd94dd93539b6f1241bb2911f7308fb7228bdd10): - Added the minimal JUnit 5-safe `GroupByQueryRunnerTestHelper.makeQueryRunnerFactory(ObjectMapper, GroupByQueryConfig, TestGroupByBuffers)` API and its test configuration constants to the existing processing test helper, following the isolated helper change from [PR #19875](https://github.com/apache/druid/pull/19875). - Updated `TestGroupByBuffers.createDefault()` to use that helper's processing config, so the migrated consumers do not load the JUnit 4 `GroupByQueryRunnerTest` class. - No processing production changes, SQL/MSQ/Quidem POM changes, JUnit 4 or Hamcrest compatibility dependencies, or consumer refactors were added. Validation: - Before the fix, `mvn -ntp -pl multi-stage-query -am test-compile -DskipTests -Pskip-static-checks -Dweb.console.skip=true -T1C` reproduced all three missing-method diagnostics above plus the `ExternalResource` diagnostic. - After the fix, the same command removed all three missing-method diagnostics; processing test compilation completed, and only the separate `ExternalResource` diagnostic at `MSQCompactionTaskRunTest.java:[217,22]` remains. - Focused tests passed: processing `GroupByResourcesReservationPoolTest` (3 run, 1 skipped), SQL `SqlQueryPlusTest` + `SqlRowTransformerTest` (6/6), Quidem `LauncherSmokeTest` (2/2), and filtered `QTest` `qaWin/basics_group_by.all` (4/4). - Checkstyle, PMD, SpotBugs (0 bugs/0 errors), Enforcer, `dev/validate-junit5-usage`, and `git diff --check` passed for the scoped modules. SQL/Quidem/MSQ source and POM audits found no non-Jupiter JUnit or Hamcrest references; the effective dependency audit resolved none of the forbidden JUnit 4/Vintage/migration-support/Hamcrest artifacts. Processing forbidden-API test scanning reported 0 errors; the MSQ forbidden-API scan could not complete because the remaining compile blocker left the test output incomplete. The remaining `ExternalResource` failure is owned by the shared indexing migration tracked in [PR #19910](https://github.com/apache/druid/pull/19910), not by the GroupBy helper API. I left it untouched to preserve #19909's no-JUnit4/no-Hamcrest scope. This fix addresses the self-contained portion of [issue #13948](https://github.com/apache/druid/issues/13948). -- 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]
