Adds windows-latest to typecheck/test/test-web matrices (lint stays Linux-only; nothing ESLint catches differs by OS). fail-fast: false so one OS's failure never masks the other's. tmux install steps gate on runner.os == 'Linux' since Windows uses runtime-process. test job adds a node-pty prebuild smoke step on Windows so a future ABI break fails fast with a clear message. test-web is broadened from server/__tests__/ to the full vitest suite — closes a pre-existing Linux-too gap and ensures component/hook/lib tests run on Windows. Closes three completeness gaps where Windows code paths existed but no test exercised them: 1. session.test.ts (5 tests): "tests Windows behavior, skips on Windows" defensive pattern. Tests fully mock isWindows + net.connect + child_process — flipping skipIf(win32) to plain it() runs them on both OSes. All 45 tests pass on Windows. 2. dashboard.test.ts (+2 tests): findRunningDashboardPidsForWebDir has parallel POSIX (lsof + cwd verification) and Windows (findPidByPort, no cwd check) implementations. Existing tests asserted lsof; new runIf(win32) tests assert findPidByPort path plus dedup across multiple ports. 3. start.test.ts (+1 test): port-scan fallback for orphaned dashboards skips ps cmdline verification on Windows by design. Existing test asserted ps was called; new runIf(win32) parallel asserts ps was NOT called and the kill still fires. Adds first PS1 script test coverage (previously zero): 4. update-ps1.test.ts (4 tests): argparse — --help/-h, unknown flag, conflicting --skip-smoke + --smoke-only. 5. doctor-ps1.test.ts (4 tests): argparse + full check pipeline smoke. The pipeline test runs every Check-* function against an empty repo and asserts the script exits cleanly with a "Results: N PASS, N WARN, N FAIL, N FIXED" summary line — catches PS1 syntax errors and crashes mid-pipeline. Net effect: CLI suite went from 622 -> 630 passing tests on Windows (5 unskipped + 8 new); skipped count dropped from 25 -> 20. All other suites unchanged. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| ao | ||
| cli | ||
| core | ||
| integration-tests | ||
| plugins | ||
| web | ||