test: stabilize aggregate and package suites (#255, #245) - #292
Conversation
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 29 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughA shared filesystem path-arrival watcher replaces duplicated test logic, readiness synchronization now uses it with cleanup, and Vitest fork configuration changes from single-worker reuse to isolated process-backed execution. The related configuration contract test is updated. ChangesTest reliability updates
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant ReadinessTest
participant watchForPathArrival
participant FileSystem
ReadinessTest->>watchForPathArrival: Watch startedPath
watchForPathArrival->>FileSystem: Watch parent directory
watchForPathArrival->>FileSystem: Check path access
FileSystem-->>watchForPathArrival: Path arrival or error
watchForPathArrival-->>ReadinessTest: Resolve or reject wait
ReadinessTest->>watchForPathArrival: Close watcher
Possibly related PRs
Poem
Caution Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional.
❌ Failed checks (1 error)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
CodeRabbit status is passing, but the fresh review request reported "Review rate limited". Per the review policy, an independent exact-head review was completed for No blocking findings. The review confirmed fresh per-file fork isolation without timeout/coverage weakening; the injected package test exercises the production Current-head CI run 30374998838 is green on Linux/macOS/Windows with Node 20/22/24, Linux quality, package checks, and Verify. |
Summary
tests/release-config.test.tsnpm execprocess treeRoot causes
The aggregate-suite failures migrated between process-backed files because
singleFork: trueretained one worker process across the entire suite. That allowed handles and lifecycle state from an earlier file to accumulate. The bundled fake upstream introduced after the original cold-start mitigation makes a fresh isolated fork per serial file viable again.The Windows package-contract failure was a test-harness mismatch: a synchronous child-environment assertion depended on real npm startup and close delivery. The contract now captures the exact environment passed by
runNpmthrough its existing injectable spawner, eliminating the unrelated npm lifecycle without weakening the assertion.No product source, public API, timeout, coverage threshold, platform check, or containment behavior changes.
Security impact
Test-process isolation is strengthened: each serial file receives a fresh fork, preventing handles or lifecycle state from crossing file boundaries. The package contract now asserts the child coverage environment directly. Runtime redaction, audit guarantees, secret handling, Windows containment, subprocess policies, and public APIs are unchanged.
TDD evidence
singleFork: truesetup-profile-readiness,audit-outcomes, andupstream-managerat different positions under the retained workernpm execboundary with the unchanged 5-second test budgetValidation
npm testnpm run test:corenpm run test:coveragenpm run lintnpm run typechecknpm run buildnpm run smoke:clinpm run check:packnpm run test:packageCloses #255
Closes #245