From a30dae3c7128bed82e09e95d35e339ae125ca3f9 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 27 Mar 2026 07:53:57 +0000 Subject: [PATCH] fix: honor test planner cache paths by target platform --- scripts/test-planner/executor.mjs | 3 ++- test/scripts/test-planner.test.ts | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/scripts/test-planner/executor.mjs b/scripts/test-planner/executor.mjs index f59e3e883ef..60fe6a622e3 100644 --- a/scripts/test-planner/executor.mjs +++ b/scripts/test-planner/executor.mjs @@ -146,7 +146,8 @@ export const resolveVitestFsModuleCachePath = ({ if (explicitPath) { return explicitPath; } - return path.join( + const pathImpl = isWindowsEnv(env, platform) ? path.win32 : path.posix; + return pathImpl.join( cwd, "node_modules", ".experimental-vitest-cache", diff --git a/test/scripts/test-planner.test.ts b/test/scripts/test-planner.test.ts index 99fd6a0f2fa..aeab331af5b 100644 --- a/test/scripts/test-planner.test.ts +++ b/test/scripts/test-planner.test.ts @@ -421,6 +421,19 @@ describe("resolveVitestFsModuleCachePath", () => { ).toBe("/repo/node_modules/.experimental-vitest-cache/unit-fast-1"); }); + it("honors the requested Windows platform when building the cache path", () => { + expect( + resolveVitestFsModuleCachePath({ + cwd: "/repo", + env: { + OPENCLAW_VITEST_FS_MODULE_CACHE: "1", + }, + platform: "win32", + unitId: "unit-fast-1", + }), + ).toBe("\\repo\\node_modules\\.experimental-vitest-cache\\unit-fast-1"); + }); + it("respects an explicit cache path override", () => { expect( resolveVitestFsModuleCachePath({