From 9af5b1380317e67eacd1d86720372f795053fee4 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 9 Jan 2026 15:47:26 +0100 Subject: [PATCH] test: make withTempHome cross-platform --- src/auto-reply/reply.triggers.test.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/auto-reply/reply.triggers.test.ts b/src/auto-reply/reply.triggers.test.ts index d5017a3fa..c4c67945a 100644 --- a/src/auto-reply/reply.triggers.test.ts +++ b/src/auto-reply/reply.triggers.test.ts @@ -53,13 +53,27 @@ vi.mock("../web/session.js", () => webMocks); async function withTempHome(fn: (home: string) => Promise): Promise { const base = await fs.mkdtemp(join(tmpdir(), "clawdbot-triggers-")); const previousHome = process.env.HOME; + const previousUserProfile = process.env.USERPROFILE; + const previousHomeDrive = process.env.HOMEDRIVE; + const previousHomePath = process.env.HOMEPATH; process.env.HOME = base; + if (process.platform === "win32") { + process.env.USERPROFILE = base; + const driveMatch = base.match(/^([A-Za-z]:)(.*)$/); + if (driveMatch) { + process.env.HOMEDRIVE = driveMatch[1]; + process.env.HOMEPATH = driveMatch[2] || "\\"; + } + } try { vi.mocked(runEmbeddedPiAgent).mockClear(); vi.mocked(abortEmbeddedPiRun).mockClear(); return await fn(base); } finally { process.env.HOME = previousHome; + process.env.USERPROFILE = previousUserProfile; + process.env.HOMEDRIVE = previousHomeDrive; + process.env.HOMEPATH = previousHomePath; await fs.rm(base, { recursive: true, force: true }); } }