test(macos): guard source-free node:http release links - #9770
test(macos): guard source-free node:http release links#9770proggeramlug wants to merge 2 commits into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 8 included reviews per hour; 2 remain after this review. 📝 WalkthroughWalkthroughAdds a Unix regression test for source-free ChangesHTTP linking regression
Estimated code review effort: 3 (Moderate) | ~25 minutes Merge Risk: ⚪ Minimal · up to This change adds source-free node:http regression coverage across both optimization modes and verifies a server can listen, close, and exit cleanly. No current merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 25.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 2 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Landed on |
The v0.5.1220 macOS arm64 release fails to link the minimal
node:httpserver with 17 undefined HTTP symbols, while the HTTP-free control works. Current main already contains the fix discussed in #5983; this PR adds native link and lifecycle coverage for the released-installation path.The regression stages the compiler and coherent full runtime/stdlib/HTTP archives outside the source checkout. It compiles an HTTP-free control and a server in both default and
PERRY_NO_AUTO_OPTIMIZE=1modes, checks that default mode actually takes the source-free fallback, and requires the server to listen on an ephemeral port, close, and exit with Node's expected output. A 30-second runtime bound catches hangs. The suite runs on macOS and Linux, and the TypeScript fixture is also picked up by compile-smoke.Validation on macOS arm64:
ok.cargo build --profile perry-dev -p perry -p perry-runtime-static -p perry-stdlib-static -p perry-ext-http.listeningandclosed, matching Node 26.5.1.SKIP_COMPILE_GATES=1 BASE_SHA=origin/main scripts/run_lint_gates.sh; the broad compile tier and two CI-only checks were skipped).PERRY_RUNTIME_DIR="$PWD/target/perry-dev" cargo test -Z panic-abort-tests --profile perry-dev -p perry --test issue_8907_macos_http_link --test issue_8587_prebuilt_stdlib_http_isolation -- --nocapture. The nightly test option preserves the shippedpanic=abortprofile.No version bump.
Closes #8907.
Summary by CodeRabbit