test(sdk): give windows-sensitive suites realistic timeouts

Four consecutive SDK publish runs failed on windows-latest, each on a
different test, all of them plain timeouts: two @cline/shared SQLite
tests at the 5s vitest default, core's bash executor at 10s, and the hub
singleton endpoint test at 10s. The 2-core Windows runner spawns forks
and takes SQLite locks slowly enough to blow those budgets under load.

These timeouts guard against hangs; they are not timing assertions (the
one suite that does assert elapsed time, shutdown.e2e, was fixed by
removing file-level parallelism instead). Raise core to 20s and give
@cline/shared an explicit 15s in place of the inherited 5s default.
This commit is contained in:
Saoud Rizwan
2026-08-22 16:39:19 -07:00
parent 6cb653a362
commit 4f836ae7d0
2 changed files with 10 additions and 2 deletions
+6 -2
View File
@@ -9,8 +9,12 @@ export default defineConfig({
// pure unit tests. Windows hosted runners regularly exceed Vitest's 5s
// default while starting those processes, so retain a bounded but realistic
// budget and reduce Windows CI contention.
testTimeout: 10_000,
hookTimeout: 15_000,
// windows-latest runners are 2-core and spawn forks slowly; the hub
// suites additionally start real servers and take SQLite locks. These
// budgets guard against hangs, they are not timing assertions, so give
// them room rather than failing publishes on runner speed.
testTimeout: 20_000,
hookTimeout: 25_000,
pool: "forks",
...(process.env.CI && process.platform === "win32"
? {
+4
View File
@@ -4,6 +4,10 @@ export default defineConfig({
test: {
environment: "node",
include: ["src/**/*.test.ts"],
// SQLite-backed tests routinely exceed vitest's 5s default on the
// 2-core windows-latest runner. A hang guard, not a timing assertion.
testTimeout: 15_000,
hookTimeout: 15_000,
exclude: ["src/**/*.e2e.test.ts"],
},
});