From 903cb3c48c269755d01938b96dee60b13bbfd5b3 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 5 Apr 2026 07:10:22 +0100 Subject: [PATCH] test: align bash exec mocks with reset modules --- .../bash-tools.exec.background-abort.test.ts | 20 ++++++++++++------- .../bash-tools.exec.pty-cleanup.test.ts | 3 ++- ...sh-tools.exec.pty-fallback-failure.test.ts | 5 ++++- .../bash-tools.exec.pty-fallback.test.ts | 3 ++- 4 files changed, 21 insertions(+), 10 deletions(-) diff --git a/src/agents/bash-tools.exec.background-abort.test.ts b/src/agents/bash-tools.exec.background-abort.test.ts index 4f420235c01..7226d448241 100644 --- a/src/agents/bash-tools.exec.background-abort.test.ts +++ b/src/agents/bash-tools.exec.background-abort.test.ts @@ -1,11 +1,5 @@ -import { afterEach, expect, test } from "vitest"; +import { afterEach, beforeEach, expect, test, vi } from "vitest"; import { killProcessTree } from "../process/kill-tree.js"; -import { - getFinishedSession, - getSession, - resetProcessRegistryForTests, -} from "./bash-process-registry.js"; -import { createExecTool } from "./bash-tools.exec.js"; const BACKGROUND_HOLD_CMD = 'node -e "setTimeout(() => {}, 5000)"'; const ABORT_SETTLE_MS = process.platform === "win32" ? 200 : 25; @@ -19,10 +13,22 @@ const TEST_EXEC_DEFAULTS = { ask: "off" as const, }; +let createExecTool: typeof import("./bash-tools.exec.js").createExecTool; +let getFinishedSession: typeof import("./bash-process-registry.js").getFinishedSession; +let getSession: typeof import("./bash-process-registry.js").getSession; +let resetProcessRegistryForTests: typeof import("./bash-process-registry.js").resetProcessRegistryForTests; + const createTestExecTool = ( defaults?: Parameters[0], ): ReturnType => createExecTool({ ...TEST_EXEC_DEFAULTS, ...defaults }); +beforeEach(async () => { + vi.resetModules(); + ({ createExecTool } = await import("./bash-tools.exec.js")); + ({ getFinishedSession, getSession, resetProcessRegistryForTests } = + await import("./bash-process-registry.js")); +}); + afterEach(() => { resetProcessRegistryForTests(); }); diff --git a/src/agents/bash-tools.exec.pty-cleanup.test.ts b/src/agents/bash-tools.exec.pty-cleanup.test.ts index d1d06b92653..c58c79e9c6a 100644 --- a/src/agents/bash-tools.exec.pty-cleanup.test.ts +++ b/src/agents/bash-tools.exec.pty-cleanup.test.ts @@ -1,6 +1,6 @@ import { afterEach, beforeEach, expect, test, vi } from "vitest"; -import { resetProcessRegistryForTests } from "./bash-process-registry.js"; let createExecTool: typeof import("./bash-tools.exec.js").createExecTool; +let resetProcessRegistryForTests: typeof import("./bash-process-registry.js").resetProcessRegistryForTests; const { ptySpawnMock } = vi.hoisted(() => ({ ptySpawnMock: vi.fn(), @@ -13,6 +13,7 @@ vi.mock("@lydell/node-pty", () => ({ beforeEach(async () => { vi.resetModules(); ({ createExecTool } = await import("./bash-tools.exec.js")); + ({ resetProcessRegistryForTests } = await import("./bash-process-registry.js")); }); afterEach(() => { diff --git a/src/agents/bash-tools.exec.pty-fallback-failure.test.ts b/src/agents/bash-tools.exec.pty-fallback-failure.test.ts index 65ec81ee2d5..b678672ab21 100644 --- a/src/agents/bash-tools.exec.pty-fallback-failure.test.ts +++ b/src/agents/bash-tools.exec.pty-fallback-failure.test.ts @@ -1,6 +1,7 @@ import { afterEach, beforeEach, expect, test, vi } from "vitest"; -import { listRunningSessions, resetProcessRegistryForTests } from "./bash-process-registry.js"; let createExecTool: typeof import("./bash-tools.exec.js").createExecTool; +let listRunningSessions: typeof import("./bash-process-registry.js").listRunningSessions; +let resetProcessRegistryForTests: typeof import("./bash-process-registry.js").resetProcessRegistryForTests; const { supervisorSpawnMock } = vi.hoisted(() => ({ supervisorSpawnMock: vi.fn(), @@ -24,6 +25,8 @@ vi.mock("../process/supervisor/index.js", () => ({ beforeEach(async () => { vi.resetModules(); ({ createExecTool } = await import("./bash-tools.exec.js")); + ({ listRunningSessions, resetProcessRegistryForTests } = + await import("./bash-process-registry.js")); }); afterEach(() => { diff --git a/src/agents/bash-tools.exec.pty-fallback.test.ts b/src/agents/bash-tools.exec.pty-fallback.test.ts index 6c0ccca1b50..c11240ddc62 100644 --- a/src/agents/bash-tools.exec.pty-fallback.test.ts +++ b/src/agents/bash-tools.exec.pty-fallback.test.ts @@ -1,6 +1,6 @@ import { afterEach, beforeEach, expect, test, vi } from "vitest"; -import { resetProcessRegistryForTests } from "./bash-process-registry.js"; let createExecTool: typeof import("./bash-tools.exec.js").createExecTool; +let resetProcessRegistryForTests: typeof import("./bash-process-registry.js").resetProcessRegistryForTests; vi.mock("@lydell/node-pty", () => ({ spawn: () => { @@ -13,6 +13,7 @@ vi.mock("@lydell/node-pty", () => ({ beforeEach(async () => { vi.resetModules(); ({ createExecTool } = await import("./bash-tools.exec.js")); + ({ resetProcessRegistryForTests } = await import("./bash-process-registry.js")); }); afterEach(() => {