From 5b29483ab1e4578c1b375f079bc1e4e006c02ff8 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 3 Apr 2026 22:14:51 +0100 Subject: [PATCH] test(ci): type-safe exec timeout stub --- src/process/exec.test.ts | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/src/process/exec.test.ts b/src/process/exec.test.ts index cf470731e1a..71099dc4b26 100644 --- a/src/process/exec.test.ts +++ b/src/process/exec.test.ts @@ -43,14 +43,36 @@ describe("runCommandWithTimeout", () => { child.stdin = new EventEmitter() as EventEmitter & NonNullable; child.stdin.write = vi.fn(() => true) as NonNullable["write"]; child.stdin.end = vi.fn() as NonNullable["end"]; - child.pid = 1234; - child.killed = false; - child.exitCode = null; - child.signalCode = null; + let killed = false; + let exitCode: number | null = null; + let signalCode: NodeJS.Signals | null = null; + Object.defineProperties(child, { + pid: { + configurable: true, + enumerable: true, + get: () => 1234, + }, + killed: { + configurable: true, + enumerable: true, + get: () => killed, + }, + exitCode: { + configurable: true, + enumerable: true, + get: () => exitCode, + }, + signalCode: { + configurable: true, + enumerable: true, + get: () => signalCode, + }, + }); child.kill = vi.fn((receivedSignal?: NodeJS.Signals) => { const resolvedSignal = receivedSignal ?? signal; - child.killed = true; - child.signalCode = resolvedSignal; + killed = true; + exitCode = null; + signalCode = resolvedSignal; child.emit("exit", null, resolvedSignal); child.emit("close", null, resolvedSignal); return true;