test: contain bundle mcp home env

This commit is contained in:
Shakker
2026-06-23 05:28:39 +01:00
parent 2ea0e8807a
commit 1f1cb5f2cb

View File

@@ -2,7 +2,7 @@
import fs from "node:fs/promises";
import os from "node:os";
import path from "node:path";
import { captureEnv } from "../test-utils/env.js";
import { withEnvAsync } from "../test-utils/env.js";
export function createBundleMcpTempHarness() {
const tempDirs: string[] = [];
@@ -91,16 +91,16 @@ export async function withBundleHomeEnv<T>(
prefix: string,
run: (params: { homeDir: string; workspaceDir: string }) => Promise<T>,
): Promise<T> {
const env = captureEnv(["HOME", "USERPROFILE", "OPENCLAW_HOME", "OPENCLAW_STATE_DIR"]);
try {
const homeDir = await tempHarness.createTempDir(`${prefix}-home-`);
const workspaceDir = await tempHarness.createTempDir(`${prefix}-workspace-`);
process.env.HOME = homeDir;
process.env.USERPROFILE = homeDir;
delete process.env.OPENCLAW_HOME;
delete process.env.OPENCLAW_STATE_DIR;
return await run({ homeDir, workspaceDir });
} finally {
env.restore();
}
const homeDir = await tempHarness.createTempDir(`${prefix}-home-`);
const workspaceDir = await tempHarness.createTempDir(`${prefix}-workspace-`);
return withEnvAsync(
{
HOME: homeDir,
USERPROFILE: homeDir,
OPENCLAW_HOME: undefined,
OPENCLAW_STATE_DIR: undefined,
},
() => run({ homeDir, workspaceDir }),
);
}