From bcf17447f0118b268060b9495b8df7ad55ea094d Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 20 Apr 2026 19:20:46 +0100 Subject: [PATCH] test: share execFile builtin mock --- src/daemon/systemd.test.ts | 13 +++++-------- src/infra/machine-name.test.ts | 13 +++++-------- test/helpers/node-builtin-mocks.ts | 8 ++++++++ 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/daemon/systemd.test.ts b/src/daemon/systemd.test.ts index e9f9ec68e1e..d02d4e93723 100644 --- a/src/daemon/systemd.test.ts +++ b/src/daemon/systemd.test.ts @@ -6,14 +6,11 @@ import { beforeEach, describe, expect, it, vi } from "vitest"; const execFileMock = vi.hoisted(() => vi.fn()); vi.mock("node:child_process", async () => { - const { mockNodeBuiltinModule } = await import("../../test/helpers/node-builtin-mocks.js"); - return mockNodeBuiltinModule( - () => vi.importActual("node:child_process"), - { - execFile: Object.assign(execFileMock, { - __promisify__: vi.fn(), - }) as typeof import("node:child_process").execFile, - }, + const { mockNodeChildProcessExecFile } = await import("../../test/helpers/node-builtin-mocks.js"); + return mockNodeChildProcessExecFile( + Object.assign(execFileMock, { + __promisify__: vi.fn(), + }) as typeof import("node:child_process").execFile, ); }); diff --git a/src/infra/machine-name.test.ts b/src/infra/machine-name.test.ts index 921f304c0c5..c4db53410b3 100644 --- a/src/infra/machine-name.test.ts +++ b/src/infra/machine-name.test.ts @@ -5,14 +5,11 @@ import { importFreshModule } from "../../test/helpers/import-fresh.js"; const execFileMock = vi.hoisted(() => vi.fn()); vi.mock("node:child_process", async () => { - const { mockNodeBuiltinModule } = await import("../../test/helpers/node-builtin-mocks.js"); - return mockNodeBuiltinModule( - () => vi.importActual("node:child_process"), - { - execFile: Object.assign(execFileMock, { - __promisify__: vi.fn(), - }) as typeof import("node:child_process").execFile, - }, + const { mockNodeChildProcessExecFile } = await import("../../test/helpers/node-builtin-mocks.js"); + return mockNodeChildProcessExecFile( + Object.assign(execFileMock, { + __promisify__: vi.fn(), + }) as typeof import("node:child_process").execFile, ); }); diff --git a/test/helpers/node-builtin-mocks.ts b/test/helpers/node-builtin-mocks.ts index b0f457f0ee9..5045ae39ee4 100644 --- a/test/helpers/node-builtin-mocks.ts +++ b/test/helpers/node-builtin-mocks.ts @@ -49,3 +49,11 @@ export async function mockNodeChildProcessSpawnSync( spawnSync: (...args: unknown[]) => spawnSync(...args), } as Partial); } + +export async function mockNodeChildProcessExecFile( + execFile: typeof import("node:child_process").execFile, +): Promise { + return mockNodeBuiltinModule(() => import("node:child_process"), { + execFile, + } as Partial); +}