openclaw/test/cli-json-stdout.test-support.ts
Peter Steinberger eaaa6da895
perf(ci): shorten release verification tails (#134824)
* perf(ui): remove redundant login failure projections

* perf(ci): balance release E2E and reuse npm downloads

* refactor(ci): keep timing run provenance separate

* fix(ci): preserve reporter types and trim login refresh state

* refactor(ui): render login recovery commands directly

* fix(ci): isolate release npm seed publication queue

* fix(release): bound candidate metadata enumeration
2026-08-31 23:30:07 -07:00

30 lines
835 B
TypeScript

import { spawnSync } from "node:child_process";
import path from "node:path";
export function runBuiltCli(
tempHome: string,
args: string[],
envOverrides: NodeJS.ProcessEnv = {},
options: { inheritEnvironment?: boolean } = {},
) {
const env: NodeJS.ProcessEnv = {
...(options.inheritEnvironment === false ? { PATH: process.env.PATH } : process.env),
HOME: tempHome,
USERPROFILE: tempHome,
OPENCLAW_TEST_FAST: "1",
};
delete env.OPENCLAW_HOME;
delete env.OPENCLAW_STATE_DIR;
delete env.OPENCLAW_CONFIG_PATH;
delete env.VITEST;
Object.assign(env, envOverrides);
const entry = path.resolve(process.cwd(), "openclaw.mjs");
return spawnSync(process.execPath, [entry, ...args], {
cwd: process.cwd(),
env,
encoding: "utf8",
maxBuffer: 10 * 1024 * 1024,
timeout: 60_000,
});
}