import { describe, expect, it } from "vitest"; import { ensureOpenClawExecMarkerOnProcess, markOpenClawExecEnv, OPENCLAW_CLI_ENV_VALUE, OPENCLAW_CLI_ENV_VAR, } from "./openclaw-exec-env.js"; describe("markOpenClawExecEnv", () => { it("returns a cloned env object with the exec marker set", () => { const env = { PATH: "/usr/bin", OPENCLAW_CLI: "0" }; const marked = markOpenClawExecEnv(env); expect(marked).toEqual({ PATH: "/usr/bin", OPENCLAW_CLI: OPENCLAW_CLI_ENV_VALUE, }); expect(marked).not.toBe(env); expect(env.OPENCLAW_CLI).toBe("0"); }); }); describe("ensureOpenClawExecMarkerOnProcess", () => { it("mutates and returns the provided process env", () => { const env: NodeJS.ProcessEnv = { PATH: "/usr/bin" }; expect(ensureOpenClawExecMarkerOnProcess(env)).toBe(env); expect(env[OPENCLAW_CLI_ENV_VAR]).toBe(OPENCLAW_CLI_ENV_VALUE); }); });