Merged
Conversation
ddeceef to
c83c6ef
Compare
Add a separate `e2e-windows.yml` workflow (triggered via workflow_dispatch)
that runs the full E2E test suite on Windows using Git Bash, for both
Node.js and Bun runtimes.
Source changes:
- isProcessAlive(): Use cached `tasklist` on Windows instead of unreliable
`process.kill(pid, 0)` (OpenProcess succeeds for zombie processes).
Single tasklist call caches all PIDs for 2s — instant Set lookups after.
- stopBridge(): On Windows, send IPC shutdown message for graceful close
(HTTP DELETE) since SIGTERM = immediate TerminateProcess. Only used for
closeSession, not restart (via `{ graceful: true }` option).
Test framework (framework.sh, run.sh):
- Cross-platform helpers: is_windows, to_native_path, _kill_tree,
_wait_killed, _find_python, _md5_short, _TMPDIR, NATIVE_TEST_TMP
- MSYS path conversion for config file refs and CLI tool-call args
- mkdir-based atomic locking (replaces symlinks, works on Windows)
- Integer arithmetic in wait_for (replaces bc dependency)
- Per-test 5-minute timeout on Windows to prevent hangs
- Background jobs for parallel execution (replaces export -f + xargs)
Test fixes:
- Config paths use to_native_path for composite args (path:entry)
- Process checks use tasklist on Windows instead of kill -0
- Bridge kills use _kill_tree instead of plain kill
- Session expiry via control API after force-kill on Windows
- JSON-escaped Windows named pipe paths in expired test fixtures
https://claude.ai/code/session_01QA2R1dDEWRrdGUAbX9Qz9B
46bb60e to
f50af01
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
windows-latestE2E test job to the CI workflow, running tests via Git Bashframework.sh,run.sh) cross-platform by replacing Unix-specific tools/patterns with portable alternativespkill→taskkill, atomic symlink locking → atomicmkdir,bc→ integer arithmetic,/tmp→$TEMP/$TMPDIR,export -f+xargs→ background jobs on WindowsTest plan
windows-latesthttps://claude.ai/code/session_01QA2R1dDEWRrdGUAbX9Qz9B