Repository navigation
test(windows): verify sibling recycle without POSIX cleanup assumption - #5997
Conversation
The recycle path already produced a healthy replacement with the expected port and sibling marker on Windows. The test then hard-terminated that process with SIGTERM and waited for its runtime record to be removed, but Windows TerminateProcess bypasses the cleanup handler. Wait for actual process exit on every platform and retain the runtime-record cleanup assertion on POSIX.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
✅ Deterministic PR hygiene checks passed. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: lidge-jun/opencodex/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 5 remain after this review. 📝 WalkthroughWalkthroughThe sibling-recycle test now waits for the replacement process to exit before checking runtime cleanup. On non-Windows platforms, it also waits for ChangesRuntime cleanup test
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~5 minutes Change: Other Merge Risk: ⚪ Minimal · up to This test-only change accounts for Windows cleanup behavior and leaves no material issue that needs resolution before merging. Architecture SummaryArchitecture risk: 🔵 Low · up to The change affects 1 system. Changed systems: Architecture concerns Review detailsSystems and components
Before / after behavior
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 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 |
리뷰 · 우선순위 36 / 80이 PR은 프로그램 본체를 고치지 않습니다. Windows에서 깨진 테스트의 뒷정리만 바꿉니다. 테스트가 확인하는 일은 이미 통과하고 있었습니다. 연결이 끝나면 새 프로세스가 같은 포트로 뜨고, 형제 표시가 붙고, Windows에서는 이 끄기가 파일을 지우는 코드를 실행하지 않습니다. 프로세스만 바로 없어집니다. 그래서 제품 동작은 맞았는데, 파일 삭제를 기다리는 부분이 시간을 넘겼습니다. 실패한 곳은 dev 실행 36267382255의 이제는 모든 OS에서 프로세스가 사라졌는지만 먼저 기다립니다. 살아 있는지는 죽이지 않는 확인( tests/clients/client-link-runtime.test.ts:135 - 메인테이너의 판단이 필요한 지점 너의 추천 이 댓글은 grok-bot이 작성했습니다 |
Summary
The connected-sibling recycle test already observed a replacement with the expected port, sibling marker, and healthy PID on Windows. Its cleanup then used
process.kill(pid, "SIGTERM")and waited forruntime-port.jsonto disappear. Windows terminates that process without running the record-removal handler, so the test timed out after the product behavior had passed.Wait for the replacement process to exit on every platform. Keep the runtime-record cleanup assertion on POSIX, where the signal handler runs. The Windows test still drives the full link-ended supervisor path and asserts the replacement's port,
siblingOfPort, and/healthzPID. No product runtime code changes.Verification
windows 8/9job108474557729: 61 pass / 1 fail in the six-file batch. The sole failure is thereplacement shutdownwait in the test'sfinally, after the replacement assertions.miniscratch checkout, Bun 1.4.0: original focused file 1 pass / 1 fail atreplacement shutdown; patched focused file 2 pass / 0 fail. The exact six-file CI batch, includingclient-link-runtime.test.ts, passed 62 / 0. All remote writes stayed under the temporaryocx-recycle-win-9dscratch directory.bun test tests/clients/client-link-runtime.test.ts— 2 pass / 0 fail;bun x tsc --noEmit,bun run structure:check,bun run privacy:scan, andgit diff --check origin/dev..HEAD— pass.bun test tests/test-layout.test.ts tests/test-layout-tooling.test.ts tests/ci-workflows/file-size-ratchet.test.ts— 27 pass / 0 fail. The full local suite was not run. Manualci.ymllane=allrun 36268938863 was dispatched for exact head5277122d61ab363c383d8726d69b7a3d4910f804; its result is pending.Checklist