FrankChen021 commented on issue #13948:
URL: https://github.com/apache/druid/issues/13948#issuecomment-5225561916
## Revised plan for the remaining JUnit 5 migration
After reviewing the large change in #19911 and its shared test-fixture
dependencies, the remaining work should be split into six migration PRs of
roughly 70–80 files each, followed by one final cleanup PR.
1. **PR1: shared fixtures + initial client/query migration**
- Add the cross-module JUnit 5-compatible fixtures required by later
batches, including the processing/server test helpers, query-stack support,
Derby lifecycle support, and shared assertion/logging utilities.
- Migrate the first client/query-serving test batch that directly
consumes those fixtures.
- Keep the fixture changes in a separate first commit for easier review.
2. **PR2: metadata and configuration**
- Metadata, segment metadata, catalog, Guice, lookup, and related
configuration tests.
3. **PR3: segment and infrastructure**
- Segment loading/realtime, indexing models, RPC, Curator, discovery, and
message-related tests.
4. **PR4: coordinator**
- Coordinator core, duties, rules, loading, balancing, simulations, and
compaction tests.
5. **PR5: server runtime**
- HTTP, coordination, metrics, logging, security, audit, and remaining
server runtime tests.
6. **PR6: services and embedded runtime**
- `services`, `embedded-tests`, and the related server
initialization/Jetty tests.
PR1 is the only prerequisite. It should merge first. PR2–PR6 will then each
branch directly from the updated `master`; they will not be stacked on or
depend on one another and may merge in any order.
While migrated and unmigrated tests coexist in the same Maven module,
module-level JUnit 4/Hamcrest dependencies must remain temporarily. After
PR1–PR6 have merged, a final cleanup PR will:
- verify that no JUnit 4 or Hamcrest source usages remain;
- remove JUnit 4, Vintage, migration-support, JUnitParams, Hamcrest, and
obsolete compatibility dependencies;
- remove the JUnit migration OpenRewrite configuration and
`dev/validate-junit5-usage` when no longer needed; and
- run the complete affected test suites and static checks.
Dependency structure:
```text
PR1: shared fixtures + initial migration
|
merged into master
/ / | \ \
PR2 PR3 PR4 PR5 PR6
\ \ | / /
final cleanup
```
--
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]