test: give three more slow Windows-runner tests looser deadlines there

Merged
BO
3d ago
+7-3

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):

TestPassing timesFailureOld limitWindows limit now
reuses a verified watcher without spawning0.34-3.9 s5.2 s, 6.6 s5 s test default20 s
converges concurrent uninitialized starters1.35-2.4 s0 winners at 10.5 s, once10 s starter deadline25 s (test limit stays 30 s)
local host parameter window (same file false)0.31-0.71 s5.1 s, once5 s test default20 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.