Repository navigation
fix(test): preserve unlimited test children and check cache progress - #133
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The test runner can kill an unlimited test’s live child when a completed test’s stale deadline fires. Its process-reaping check treats the no-deadline/EPOCH timestamp as expired. Exclude that sentinel, matching the existing entry timeout check, and cover the completed-deadline/live-child sequence with a deterministic regression.
The deferred compile-cache idle test now preserves its ten-second persistence-progress guard and bounds module loading, pipe flushes, child exit, and cleanup individually. The complete 2,000-module workload, late-module handshake, 2,002-file assertion, idle-generation window, and signal-exit budget remain unchanged.
The exact Windows binary from run 37386790583 reproduces the old 30-second aggregate timeout 3/3 under a controlled CPU quota while files keep appearing. An independent driver completes all 2,002 entries in 64.7 seconds; the proposed test passes under that quota in 52.6/52.2 seconds. Deliberately stalled persistence, startup, and exit still fail at their ten-second guards. That hosted failure retained no progress timeline, so its specific runner-level trigger remains unknown. This is distinct from #53’s Linux idle-accounting fix and #130’s Windows execute-access scan fix.
The child-lifetime regression fails 3/3 on old Mac and Windows x64 fork binaries and official upstream Bun
13a98b0d. Exact-source Windows pairs fail 3/3 before and pass 3/3 with the owner fix. Two stale hook-error column expectations were corrected from 15 to 11 after the pre-change fork reproduced all five failures and Node 24 confirmed column 11; exact source-position and error-attribution checks remain intact.Final validation applies to
29cbbbf595on main10b749212a:Format, JavaScript/source lint, Clippy, Miri, and lol-html tests pass. Mordant reports the existing
bare_bool_argsfinding insrc/resolver/package_json.rs; its source, baseline, configuration, toolchain, and explicitly advisory workflow setting are unchanged from main. The initial issue-finder run lacked authentication; no credentials or CI settings were changed.The shared owner fix is also proposed in oven-sh#44613 with a passing upstream-specific build and full test-runner suite. The separate Windows rename fix remains in oven-sh#44601.