test.coordination/core/runners/process.runner.test.ts
test.coordination/core/runners/process.runner.test.ts is a file in Codebase Testing. 30 lines of code and 0 definitions.
import { describe, it } from "vitest";
import assert from "node:assert/strict";
import { runTool } from "coordination-surface/tools/core/runners/process.runner.ts";
import { tmpdir } from "node:os";
const CWD = tmpdir();
describe("runTool", () => {
it("runs npm through the CLI beside the running node, with no shell, and passes on exit 0", () => {
const result = runTool(CWD, "version", "npm", "npm answers", ["--version"]);
assert.equal(result.exitCode, 0, result.output);
assert.equal(result.verdict, "pass");
assert.equal(result.step, "version");
assert.equal(result.checks, "npm answers");
});
it("fails with the tool's own exit code and output", () => {
const result = runTool(CWD, "exit", process.execPath, "a failing command", [
"--input-type=module",
"--eval",
"console.error('refused'); process.exitCode = 3;",
]);
assert.equal(result.exitCode, 3);
assert.equal(result.verdict, "fail");
assert.ok(result.output.includes("refused"));
});
it("fails with the launch error when the tool does not exist", () => {
const result = runTool(CWD, "missing", "no-such-tool-for-this-probe", "nothing", []);
assert.equal(result.exitCode, -1);
assert.equal(result.verdict, "fail");
assert.ok(result.output.length > 0);
});
});