diff --git a/src/browser/chrome-extension-background-utils.test.ts b/src/browser/chrome-extension-background-utils.test.ts index 7f383398d8e..0a0ba76ac28 100644 --- a/src/browser/chrome-extension-background-utils.test.ts +++ b/src/browser/chrome-extension-background-utils.test.ts @@ -1,9 +1,18 @@ +import { createRequire } from "node:module"; import { describe, expect, it } from "vitest"; -import { - buildRelayWsUrl, - isRetryableReconnectError, - reconnectDelayMs, -} from "../../assets/chrome-extension/background-utils.js"; + +type BackgroundUtilsModule = { + buildRelayWsUrl: (port: number, gatewayToken: string) => string; + isRetryableReconnectError: (err: unknown) => boolean; + reconnectDelayMs: ( + attempt: number, + opts?: { baseMs?: number; maxMs?: number; jitterMs?: number; random?: () => number }, + ) => number; +}; + +const require = createRequire(import.meta.url); +const { buildRelayWsUrl, isRetryableReconnectError, reconnectDelayMs } = + require("../../assets/chrome-extension/background-utils.js") as BackgroundUtilsModule; describe("chrome extension background utils", () => { it("builds websocket url with encoded gateway token", () => { diff --git a/src/commands/doctor.migrates-routing-allowfrom-channels-whatsapp-allowfrom.test.ts b/src/commands/doctor.migrates-routing-allowfrom-channels-whatsapp-allowfrom.test.ts index 872a48d3dfc..95fe4be23f4 100644 --- a/src/commands/doctor.migrates-routing-allowfrom-channels-whatsapp-allowfrom.test.ts +++ b/src/commands/doctor.migrates-routing-allowfrom-channels-whatsapp-allowfrom.test.ts @@ -16,7 +16,7 @@ import { } from "./doctor.e2e-harness.js"; import "./doctor.fast-path-mocks.js"; -const DOCTOR_MIGRATION_TIMEOUT_MS = 20_000; +const DOCTOR_MIGRATION_TIMEOUT_MS = process.platform === "win32" ? 60_000 : 45_000; const { doctorCommand } = await import("./doctor.js"); describe("doctor command", () => { diff --git a/src/commands/doctor.migrates-slack-discord-dm-policy-aliases.test.ts b/src/commands/doctor.migrates-slack-discord-dm-policy-aliases.test.ts index 5dcec07fd23..adfecc03d29 100644 --- a/src/commands/doctor.migrates-slack-discord-dm-policy-aliases.test.ts +++ b/src/commands/doctor.migrates-slack-discord-dm-policy-aliases.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it, vi } from "vitest"; import { readConfigFileSnapshot, writeConfigFile } from "./doctor.e2e-harness.js"; -const DOCTOR_MIGRATION_TIMEOUT_MS = 20_000; +const DOCTOR_MIGRATION_TIMEOUT_MS = process.platform === "win32" ? 60_000 : 45_000; const { doctorCommand } = await import("./doctor.js"); describe("doctor command", () => { diff --git a/src/commands/sandbox-explain.test.ts b/src/commands/sandbox-explain.test.ts index 573ac8b9b79..6774c86b72c 100644 --- a/src/commands/sandbox-explain.test.ts +++ b/src/commands/sandbox-explain.test.ts @@ -1,5 +1,7 @@ import { describe, expect, it, vi } from "vitest"; +const SANDBOX_EXPLAIN_TEST_TIMEOUT_MS = process.platform === "win32" ? 45_000 : 30_000; + let mockCfg: unknown = {}; vi.mock("../config/config.js", async (importOriginal) => { @@ -13,7 +15,7 @@ vi.mock("../config/config.js", async (importOriginal) => { const { sandboxExplainCommand } = await import("./sandbox-explain.js"); describe("sandbox explain command", () => { - it("prints JSON shape + fix-it keys", async () => { + it("prints JSON shape + fix-it keys", { timeout: SANDBOX_EXPLAIN_TEST_TIMEOUT_MS }, async () => { mockCfg = { agents: { defaults: { @@ -42,5 +44,5 @@ describe("sandbox explain command", () => { expect(Array.isArray(parsed.fixIt)).toBe(true); expect(parsed.fixIt).toContain("agents.defaults.sandbox.mode=off"); expect(parsed.fixIt).toContain("tools.sandbox.tools.deny"); - }, 15_000); + }); }); diff --git a/src/telegram/bot.media.downloads-media-file-path-no-file-download.test.ts b/src/telegram/bot.media.downloads-media-file-path-no-file-download.test.ts index 07e3e4ecc03..c43c3f1746c 100644 --- a/src/telegram/bot.media.downloads-media-file-path-no-file-download.test.ts +++ b/src/telegram/bot.media.downloads-media-file-path-no-file-download.test.ts @@ -12,6 +12,7 @@ const TELEGRAM_TEST_TIMINGS = { mediaGroupFlushMs: 20, textFragmentGapMs: 30, } as const; +const TELEGRAM_BOT_IMPORT_TIMEOUT_MS = process.platform === "win32" ? 180_000 : 150_000; let createTelegramBot: typeof import("./bot.js").createTelegramBot; let replySpy: ReturnType; @@ -98,7 +99,7 @@ beforeAll(async () => { ({ createTelegramBot } = await import("./bot.js")); const replyModule = await import("../auto-reply/reply.js"); replySpy = (replyModule as unknown as { __replySpy: ReturnType }).__replySpy; -}); +}, TELEGRAM_BOT_IMPORT_TIMEOUT_MS); vi.mock("./sticker-cache.js", () => ({ cacheSticker: (...args: unknown[]) => cacheStickerSpy(...args),