test: give three more slow Windows-runner tests looser deadlines there
Three more Windows lifecycle tests stop failing on slow runners. Their deadlines are longer on Windows only and unchanged on Linux and macOS. This follows #537.
Times in the CI's own Windows runs (4 passing runs plus the passing attempts inside 14 failed ones):
| Test | Passing times | Failure | Old limit | Windows limit now |
|---|---|---|---|---|
| reuses a verified watcher without spawning | 0.34-3.9 s | 5.2 s, 6.6 s | 5 s test default | 20 s |
| converges concurrent uninitialized starters | 1.35-2.4 s | 0 winners at 10.5 s, once | 10 s starter deadline | 25 s (test limit stays 30 s) |
| local host parameter window (same file false) | 0.31-0.71 s | 5.1 s, once | 5 s test default | 20 s |
The watcher-reuse test has passed in 3.9 s, close to its 5 s limit. Two of its failures were each followed by a "wrong-build holder" failure after about 0.2 s. That looks like the timed-out test's leftover spawn reaching the next test, so the longer limit should clear both. The concurrent-starter failure came in a run where the refresh tests fixed in #537 also timed out. The scope test's stall was a one-off. When a test overruns, its cleanup fails with EPERM, because the index is still open.
Not covered: the idle-shutdown test ("a disconnect before client hello … idle reaper exits") and the upgraded-install exit wait in daemon-older-version.test.ts. In the failed idle-shutdown runs, the daemon logs "Shutting down" and is still alive minutes later, so those failures are a hang, not slowness. A longer limit would hide it. They need a separate fix.
Checks: npx vitest run __tests__/runtime-control.test.ts __tests__/upstream-native-scope-regressions.test.ts passed on Linux, 90/90, at c478ef6c. The Windows lifecycle job on this PR runs the Windows side.
README rows checked: none apply (test-only change).
Summary by cubic
Loosens deadlines on Windows only for three lifecycle tests that time out intermittently on slow CI runners, following the timeout fixes in #537. Linux and macOS limits are unchanged. Longer limits should clear both watcher-reuse failures, since a timed-out run leaked its spawn into the next test.
The concurrent-starter deadline stays under the test's own limit so a slow start fails with its reason, and a comment records the Windows-only index times (0.3–0.7 s typical, once over 5 s).
Not covered: the idle-shutdown test and the upgraded-install exit wait in daemon-older-version.test.ts. In the failed idle-shutdown runs, the daemon logs "Shutting down" and stays alive for minutes, so those are hangs, not slowness; a longer deadline would only hide them.
Summary by CodeRabbit
- Tests
- Increased time limits for selected Windows test cases to accommodate slower execution; other platforms retain their existing time limits.
- Test scenarios and assertions are unchanged.