Skip to content

test(windows): retry busy comparison fixture cleanup - #702

Open
faizan-oai wants to merge 1 commit into
mainfrom
agent/windows-comparison-cleanup
Open

test(windows): retry busy comparison fixture cleanup#702
faizan-oai wants to merge 1 commit into
mainfrom
agent/windows-comparison-cleanup

Conversation

@faizan-oai

Copy link
Copy Markdown
Contributor

Summary

Windows comparison tests can fail while removing a temporary fixture after the native commands have finished. The observed CI failure is an EBUSY teardown error, not a reported comparison or MCP-permission assertion failure. The held resource and its owner are not identified by the log.

Changes

  • Retry fixture removal only for EBUSY on Windows, with ten retries and a 100 ms linearly increasing delay, matching the existing package-smoke cleanup policy.
  • Rethrow persistent locks and unrelated errors. Keep the production runtime, native command lifecycle, and comparison/MCP assertions unchanged.
  • Use explicit retries because the pinned Bun runtime does not apply fs.rm retry options in its recursive removal path.

Testing

  • Focused comparison file on Windows with Bun 1.3.14, seed 1555709816, and the unchanged 120-second CI test timeout: baseline and candidate each passed 25 tests, with one existing platform skip and 56 assertions. Neither local replay reproduced the original CI lock.
  • Local native file-handle controls using the exact candidate helper: the single-attempt cleanup returned EBUSY; the helper removed a fixture after the holder closed, and a persistently held fixture still rejected with the original final error after 11 attempts.
  • A synthetic unrelated EACCES error was rethrown immediately, with no retry or ACL changes.
  • SDK tsc --noEmit, targeted Prettier check, package pnpm run format, and git diff --check: passed.
  • No full local test suite or model scan was run. Applicable remote CI remains required.

Risk and rollout

Test-only change. A persistently locked fixture still fails after at most 5.5 seconds of scheduled retry delays. No CLI behavior, permission policy, test skip, or test timeout changes are intended. A successful local replay does not identify the original CI lock owner; applicable remote checks still need to pass.

Public disclosure review

  • No customer, partner, prospect, or user identities, data, or identifying details are included.
  • No credentials, personal data, private source, scan findings, or nonpublic links or tickets are included.
  • I reviewed the branch name, title, description, commits, changes, comments, logs, screenshots, attachments, and links for public disclosure.

@github-actions github-actions Bot added the skip-release-notes Omit internal changes from generated release notes label Aug 28, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Aug 28, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-08-28T03:09:25.917075Z 397fd1f Manual request
🔒 Security Review Completed 2026-08-28T03:03:49.239280Z 397fd1f PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@faizan-oai

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Bravo.

Reviewed commit: 397fd1f643

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-release-notes Omit internal changes from generated release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant