test: pin #23139 + #22743 — repeated dynamic import of error-throwing module no longer hangs#30537
Conversation
|
Updated 11:49 PM PT - May 11th, 2026
❌ @alii, your commit 17a74b7 has 1 failures in
🧪 To try this PR locally: bunx bun-pr 30537That installs a local version of the PR into your bun-30537 --bun |
|
Found 1 issue this PR may fix:
🤖 Generated with Claude Code |
…erleave variant
There was a problem hiding this comment.
LGTM — test-only PR pinning two already-fixed module-loader regressions.
Extended reasoning...
Overview
This PR adds two new regression test files under test/regression/issue/ (#23139 and #22743). Both spawn a Bun subprocess that repeatedly await import()s unparseable JSON files and assert that each attempt re-throws SyntaxError rather than hanging. No production/runtime code is touched — the underlying fix already landed in the module-loader rewrite window; this PR just pins the behavior.
Security risks
None. The changes are confined to the test suite, write only to per-test temp directories via the standard tempDir harness helper, and execute self-contained fixture scripts with no network, no shell interpolation of external input, and no auth/crypto/permissions code.
Level of scrutiny
Low. Test-only additions following the repo's well-worn regression-test pattern (tempDir + Bun.spawn + bunExe()/bunEnv + stdout/exit-code assertions). Both tests bound the subprocess with a 10s spawn timeout and a 30s outer test timeout, so even if the regression resurfaces the suite fails fast with a clear diff rather than hanging CI.
Other factors
The robobun comment shows build-zig/build-cpp infrastructure failures on the first commit, but those are unrelated to these test-only files (no build scripts or native code touched). The bug-hunting system found no issues, CodeRabbit had no actionable comments, and there are no outstanding human review comments. The two tests are near-identical in structure and consistent with neighboring files in test/regression/issue/.
A second
await import()of a path whose first import threw used to hang forever instead of re-throwing. Two reported variants:While verifying #30527 I checked whether oven-sh/WebKit#225 covered these — turns out both were already fixed before that bump (main + WebKit
88b2f7a2doesn't hang either). The fix landed somewhere in the module-loader rewrite window (#29393 → #30262); the issues just never got re-tested.88b2f7a2(pre-#30527)5488984dBoth tests fail on
USE_SYSTEM_BUN=1(stdout missing the post-hang lines, killed by spawn timeout) and pass onbun bd test.Fixes #23139
Fixes #22743