test: isolate process-heavy upstream lifecycle contracts (#255) - #293
Conversation
|
Important Review skippedNo new commits to review since the last review. ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughThe upstream-manager contract helper now dispatches grouped registrations for basics, recovery, and teardown. Separate test entrypoints invoke each group, and a new suite validates the file layout, exports, dispatch branches, and selected shutdown contracts. ChangesUpstream manager suite split
Estimated code review effort: 3 (Moderate) | ~20 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
@coderabbitai review |
✅ Action performedReview finished.
|
What changed
Root cause
The prior fresh-fork fix isolated test files, but all 37 real-child upstream lifecycle contracts still shared one worker process because they remained in a single file. During aggregate runs, startup timeout failures migrated between otherwise healthy tests; the exact failing test and the complete original file both passed independently. Splitting by lifecycle group removes the remaining same-file process accumulation without increasing the 1,000 ms startup timeout.
Impact
Production code and public APIs are unchanged. Existing test bodies, timeouts, process containment, platform coverage, and error behavior are preserved.
Closes #255
Validation
npm test: 1,770 passed / 33 skippednpm run test:core: 425 passed / 26 skippednpm run test:coverage: 1,770 passed / 33 skipped; 95.65% statements, 91.92% branches, 98.66% functions, 95.65% linesnpm run lintnpm run typechecknpm run buildnpm run smoke:clinpm run check:packnpm run test:package: 26 passedSummary by CodeRabbit