Files
clawdbot/src/process/exec.test.ts
Peter Steinberger c379191f80 chore: migrate to oxlint and oxfmt
Co-authored-by: Christoph Nakazawa <christoph.pojer@gmail.com>
2026-01-14 15:02:19 +00:00

46 lines
1.2 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { runCommandWithTimeout } from "./exec.js";
describe("runCommandWithTimeout", () => {
it("passes env overrides to child", async () => {
const result = await runCommandWithTimeout(
[process.execPath, "-e", 'process.stdout.write(process.env.CLAWDBOT_TEST_ENV ?? "")'],
{
timeoutMs: 5_000,
env: { CLAWDBOT_TEST_ENV: "ok" },
},
);
expect(result.code).toBe(0);
expect(result.stdout).toBe("ok");
});
it("merges custom env with process.env", async () => {
const previous = process.env.CLAWDBOT_BASE_ENV;
process.env.CLAWDBOT_BASE_ENV = "base";
try {
const result = await runCommandWithTimeout(
[
process.execPath,
"-e",
'process.stdout.write((process.env.CLAWDBOT_BASE_ENV ?? "") + "|" + (process.env.CLAWDBOT_TEST_ENV ?? ""))',
],
{
timeoutMs: 5_000,
env: { CLAWDBOT_TEST_ENV: "ok" },
},
);
expect(result.code).toBe(0);
expect(result.stdout).toBe("base|ok");
} finally {
if (previous === undefined) {
delete process.env.CLAWDBOT_BASE_ENV;
} else {
process.env.CLAWDBOT_BASE_ENV = previous;
}
}
});
});