diff --git a/src/infra/runtime-status.test.ts b/src/infra/runtime-status.test.ts index fc79afe5bee..fec5c68e67b 100644 --- a/src/infra/runtime-status.test.ts +++ b/src/infra/runtime-status.test.ts @@ -4,6 +4,7 @@ import { formatRuntimeStatusWithDetails } from "./runtime-status.js"; describe("formatRuntimeStatusWithDetails", () => { it("falls back to unknown when status is missing", () => { expect(formatRuntimeStatusWithDetails({})).toBe("unknown"); + expect(formatRuntimeStatusWithDetails({ status: " " })).toBe("unknown"); }); it("includes pid, distinct state, and non-empty details", () => { @@ -26,5 +27,12 @@ describe("formatRuntimeStatusWithDetails", () => { details: [], }), ).toBe("running"); + expect( + formatRuntimeStatusWithDetails({ + status: " RUNNING ", + state: "running", + details: [], + }), + ).toBe("RUNNING"); }); }); diff --git a/src/infra/runtime-status.ts b/src/infra/runtime-status.ts index 110a81084ff..4f0cfe2ef1d 100644 --- a/src/infra/runtime-status.ts +++ b/src/infra/runtime-status.ts @@ -11,12 +11,12 @@ export function formatRuntimeStatusWithDetails({ state, details = [], }: RuntimeStatusFormatInput): string { - const runtimeStatus = status ?? "unknown"; + const runtimeStatus = status?.trim() || "unknown"; const fullDetails: string[] = []; if (pid) { fullDetails.push(`pid ${pid}`); } - if (state && state.toLowerCase() !== runtimeStatus) { + if (state && state.toLowerCase() !== runtimeStatus.toLowerCase()) { fullDetails.push(`state ${state}`); } for (const detail of details) {