From bdfd3bae6fb441819f2d4ade5b4932ac2df95cf7 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 2 Mar 2026 12:00:28 +0000 Subject: [PATCH] test(perf): reuse cli programs in coverage tests --- src/cli/daemon-cli.coverage.test.ts | 5 +++-- src/cli/gateway-cli.coverage.test.ts | 10 +++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/cli/daemon-cli.coverage.test.ts b/src/cli/daemon-cli.coverage.test.ts index 0bffcd4c32d..a3062a99b8c 100644 --- a/src/cli/daemon-cli.coverage.test.ts +++ b/src/cli/daemon-cli.coverage.test.ts @@ -74,6 +74,7 @@ vi.mock("./progress.js", () => ({ })); const { registerDaemonCli } = await import("./daemon-cli.js"); +let daemonProgram: Command; function createDaemonProgram() { const program = new Command(); @@ -83,8 +84,7 @@ function createDaemonProgram() { } async function runDaemonCommand(args: string[]) { - const program = createDaemonProgram(); - await program.parseAsync(args, { from: "user" }); + await daemonProgram.parseAsync(args, { from: "user" }); } function parseFirstJsonRuntimeLine() { @@ -96,6 +96,7 @@ describe("daemon-cli coverage", () => { let envSnapshot: ReturnType; beforeEach(() => { + daemonProgram = createDaemonProgram(); envSnapshot = captureEnv([ "OPENCLAW_STATE_DIR", "OPENCLAW_CONFIG_PATH", diff --git a/src/cli/gateway-cli.coverage.test.ts b/src/cli/gateway-cli.coverage.test.ts index 4c426b0e8fe..64140b70c8e 100644 --- a/src/cli/gateway-cli.coverage.test.ts +++ b/src/cli/gateway-cli.coverage.test.ts @@ -1,5 +1,5 @@ import { Command } from "commander"; -import { describe, expect, it, vi } from "vitest"; +import { beforeEach, describe, expect, it, vi } from "vitest"; import { withEnvOverride } from "../config/test-helpers.js"; import { createCliRuntimeCapture } from "./test-runtime-capture.js"; @@ -86,6 +86,7 @@ vi.mock("../commands/gateway-status.js", () => ({ })); const { registerGatewayCli } = await import("./gateway-cli.js"); +let gatewayProgram: Command; function createGatewayProgram() { const program = new Command(); @@ -95,8 +96,7 @@ function createGatewayProgram() { } async function runGatewayCommand(args: string[]) { - const program = createGatewayProgram(); - await program.parseAsync(args, { from: "user" }); + await gatewayProgram.parseAsync(args, { from: "user" }); } async function expectGatewayExit(args: string[]) { @@ -104,6 +104,10 @@ async function expectGatewayExit(args: string[]) { } describe("gateway-cli coverage", () => { + beforeEach(() => { + gatewayProgram = createGatewayProgram(); + }); + it("registers call/health commands and routes to callGateway", async () => { resetRuntimeCapture(); callGateway.mockClear();