test(oauth): await guardian fixture ACL hardening before cleanup - #4104
test(oauth): await guardian fixture ACL hardening before cleanup#4104luvs01 wants to merge 1 commit into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 8 remain after this review. 📝 WalkthroughWalkthroughThe token guardian integration test now flushes pending configuration directory hardening before removing its temporary directory. The cleanup hook is asynchronous and awaits this operation. ChangesToken guardian test cleanup
Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: ⚪ Minimal · up to The token-guardian fixture now waits for pending Windows ACL hardening before deleting its temporary configuration directory, preventing cleanup races without changing production behavior or test assertions. No current merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 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 |
|
✅ Deterministic PR hygiene checks passed. |
✅ READY
Review readiness checklist
✅ 4/4 boxes ticked. This pull request is already Ready for Review. |
|
@coderabbitai review |
✅ Action performedReview finished.
|
리뷰 · 우선순위 64 / 80설명 이 PR은 테스트 fixture teardown 순서만 고친다. 대상은 문제 그림. Windows에서 credential 읽기/쓰기는 optional ACL hardening을 백그라운드로 띄울 수 있다. 고치는 방법. 지금 라인 - 이게 무슨 문제다
다른 fixture inventory - credential을 쓰는 integration 테스트 중 Draft/CI - readiness 체크리스트가 아직 비어 있다. Windows에서 token-guardian 파일 10 tests 통과 주장은 설득력 있고, 현재 HEAD full CI green + Draft 해제가 머지 조건이다. 메인테이너의 판단이 필요한 지점
너의 추천 CI green 확인 후 머지할 것. 한 줄짜리 올바른 대기이고, 문서화된 API를 쓰며 제품 동작을 안 건드린다. #4102/#4103과 무관하니 따로 랜딩해도 된다. 다음 스텝: (1) 현재 HEAD cross-platform CI green, (2) Draft 해제, (3) 이 댓글은 grok-bot이 작성했습니다 |
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. |
Ingwannu
left a comment
There was a problem hiding this comment.
Reviewed 04b8187 against 0480891. Approving this one-file fixture cleanup change.
The explicit join(tmp, "ocx") matches the fixture's OPENCODEX_HOME. Waiting before environment restoration and directory deletion settles that directory's registered optional ACL flight, rather than relying on the ambient home or waiting on unrelated homes. src/config/paths.ts catches failures within the optional hardening flight and removes its entry in finally; the flush is a no-op when no flight exists. Production hardening and guardian behavior are unchanged, as are every existing assertion and retry budget.
I independently verified contributor CI run 34335603271: all 26 jobs succeeded at this exact head, including all Windows shards and macOS control. The motivating missing wait is supported by source; without an owning-handle capture, this does not prove every EPERM seen in other runs had that cause.
No local contributor code or live runtime/settings operation was executed. This approval covers test cleanup ordering, not a broader security audit, and does not merge the PR.
|
@Ingwannu @lidge-jun This approved fixture-only change is the prerequisite for the requested #4090 rebase, which in turn precedes #4105. Current head remains The upstream Cross-platform CI and React Doctor still report |
|
Approved the two pending upstream runs (Cross-platform CI 34335557657 and React Doctor 34338786605) for the unchanged reviewed head Current dev is now |
|
The approved CI has now completed: React Doctor passed, but Cross-platform CI run 34335557657 failed at the old head 04b8187. Both failing test shards identify the release-version-line assertion: this branch still declares 2.49.0, which now equals the published v2.49.0 tag but is not that tag's commit. The Linux shard stopped at that failure; the macOS shard reported the same single failed test. This is not evidence that the ACL cleanup assertion regressed, but it is also not a green complete CI run. Please carry the focused cleanup fix onto current dev (preserving the newer guardian tests) and rerun CI at the resulting exact head. Do not disable the release guard or make an arbitrary package-version bump just to pass this old branch. The related follow-ups remain sequenced after a verified landing. |
04b8187 to
f7f275f
Compare
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
Carried onto current dev; author CI green at the new head@Ingwannu Done as requested. The cleanup fix now sits on The newer guardian coverage is preserved. Rebasing brought in the guardian runtime and fixture changes that landed after my old base The release-version failure is gone because of the rebase, not because of a guard change. As you noted, both old-head shards stopped at the release-version-line assertion for a branch still declaring 2.49.0. Moving to current dev removes that conflict on its own. I did not disable the release guard and did not bump the package version. Full author CI is 26/26 green at this head, after one failed-only rerun of The upstream Cross-platform CI (34431386203) and React Doctor (34431386142) runs for this head are again sitting at The narrow cleanup-ordering review you already gave still applies unchanged, and #4090/#4105 remain sequenced after this actually lands. |
f7f275f to
e16fa26
Compare
|
Current integration head is now The current-head upstream Cross-platform CI run Author CI run |
|
I inspected the current e16fa26 patch: it is still only the awaited fixture teardown on top of the newer guardian assertions. I approved the current-head hosted Cross-platform CI 34439015408 and React Doctor 34439015454 runs, not the older f7f275f runs linked in the earlier comment. Workflow/dependency files are unchanged, the pull_request runner selection remains GitHub-hosted, and privileges remain read-only. This is execution approval, not merge approval. The reported prior-head timed-test rerun is retained as historical context; the new head needs its own completed result. |
Summary
The token-guardian fixture deletes its temporary home immediately after restoring the environment. Credential reads and writes can start optional asynchronous Windows ACL hardening that outlives
saveCredential(); itsicacls.exechild can still hold the directory when teardown removes it. The existing synchronous removal retries do not await that work.Make the fixture's
afterEachasynchronous and awaitflushConfigDirHardening(join(tmp, "ocx"))before restoring the environment or deleting the home. This settles only the fixture's own registered hardening flight and uses the existing cleanup API. Production token-guardian behavior, test assertions, and retry/time budgets are unchanged.Verification
e16fa26224aa886c0600be8ba5832a103d4f0140, based ondev 386b6a0d9a8acef818b9c40ebd472e4974750199.34439043900: 26/26 jobs passed, bound toe16fa26224aa886c0600be8ba5832a103d4f0140. The checklist CI attestation refers to this completed matrix; local focused results are listed separately.the synchronous restore body is gated on skipHistoryafter 30 seconds (child status null). That exact case passed in isolation on this head with Bun 1.4.2: 1 test / 6 assertions, 7.28 seconds. The hosted timeout cause remains unproven. No product code or deadline changed, and previously successful jobs are retained.Checklist
Review readiness checklist
Readiness base check: 7 commits behind current dev; within the repository allowance of ten.