




















@@ -164,9 +164,15 @@ describe("gateway CPU scenario guard", () => {
164164expect(result.summary.steps.map((step) => step.name)).toEqual(["private QA build", "qa suite"]);
165165expect(calls[0]?.args).toEqual(["scripts/build-all.mjs", "qaRuntime"]);
166166expect(calls[0]?.env).toMatchObject({
167+HOME: path.join(outputDir, "qa-state-root", "home"),
167168OPENCLAW_BUILD_PRIVATE_QA: "1",
169+OPENCLAW_CONFIG_PATH: path.join(outputDir, "qa-state-root", "state", "openclaw.json"),
168170OPENCLAW_ENABLE_PRIVATE_QA_CLI: "1",
171+OPENCLAW_HOME: path.join(outputDir, "qa-state-root", "home"),
169172OPENCLAW_RUN_NODE_SKIP_DTS_BUILD: "1",
173+OPENCLAW_STATE_DIR: path.join(outputDir, "qa-state-root", "state"),
174+OPENCLAW_TEST_DISABLE_UPDATE_CHECK: "1",
175+USERPROFILE: path.join(outputDir, "qa-state-root", "home"),
170176});
171177expect(calls[0]?.env?.OPENCLAW_BUNDLED_PLUGIN_BUILD_IDS).toBeUndefined();
172178});
@@ -178,7 +184,7 @@ describe("gateway CPU scenario guard", () => {
178184mkdirSync(pluginSdkDist, { recursive: true });
179185writeFileSync(path.join(pluginSdkDist, "qa-lab.js"), "export {};\n");
180186writeFileSync(path.join(pluginSdkDist, "qa-runtime.js"), "export {};\n");
181-const calls: string[][] = [];
187+const calls: Array<{ args: string[]; env?: Record<string, string | undefined> }> = [];
182188const options = testing.parseArgs([
183189"--output-dir",
184190outputDir,
@@ -189,16 +195,30 @@ describe("gateway CPU scenario guard", () => {
189195190196const result = await testing.runGatewayCpuScenarios(options, {
191197 cwd,
198+env: {
199+HOME: "/real/user/home",
200+OPENCLAW_CONFIG_PATH: "/real/user/.openclaw/openclaw.json",
201+OPENCLAW_HOME: "/real/user/home",
202+OPENCLAW_STATE_DIR: "/real/user/.openclaw",
203+},
192204silent: true,
193-spawnSync: (_command: string, args: string[]) => {
194-calls.push(args);
205+spawnSync: (_command: string, args: string[], opts?: { env?: Record<string, string> }) => {
206+calls.push({ args, env: opts?.env });
195207return { status: 0 };
196208},
197209});
198210199211expect(result.exitCode).toBe(0);
200212expect(result.summary.steps.map((step) => step.name)).toEqual(["qa suite"]);
201-expect(calls.some((args) => args[0] === "scripts/build-all.mjs")).toBe(false);
213+expect(calls.some((call) => call.args[0] === "scripts/build-all.mjs")).toBe(false);
214+expect(calls[0]?.env).toMatchObject({
215+HOME: path.join(outputDir, "qa-state-root", "home"),
216+OPENCLAW_CONFIG_PATH: path.join(outputDir, "qa-state-root", "state", "openclaw.json"),
217+OPENCLAW_HOME: path.join(outputDir, "qa-state-root", "home"),
218+OPENCLAW_STATE_DIR: path.join(outputDir, "qa-state-root", "state"),
219+USERPROFILE: path.join(outputDir, "qa-state-root", "home"),
220+});
221+expect(calls[0]?.env?.HOME).not.toBe("/real/user/home");
202222});
203223204224it("fails when completed runs report hot gateway CPU observations", async () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。