将 type/configKey 从 "command" 统一为 "cmd",源码目录 runner/command/ → runner/cmd/, spec 目录 command-checker/ → cmd-checker/,测试全部改用 bun -e 替代 Unix 系统命令, 归档 cmd-checker-enhancement 变更并同步 delta spec 到主 spec。
27 lines
882 B
TypeScript
27 lines
882 B
TypeScript
import { describe, expect, test } from "bun:test";
|
|
|
|
import { checkExitCode } from "../../../../../src/server/checker/runner/cmd/expect";
|
|
|
|
describe("checkExitCode", () => {
|
|
test("exitCode 在允许列表中匹配成功", () => {
|
|
const r = checkExitCode(0, [0]);
|
|
expect(r.matched).toBe(true);
|
|
expect(r.failure).toBeNull();
|
|
});
|
|
|
|
test("exitCode 不在允许列表中匹配失败", () => {
|
|
const r = checkExitCode(1, [0]);
|
|
expect(r.matched).toBe(false);
|
|
expect(r.failure!.phase).toBe("exitCode");
|
|
expect(r.failure!.kind).toBe("mismatch");
|
|
expect(r.failure!.expected).toEqual([0]);
|
|
expect(r.failure!.actual).toBe(1);
|
|
});
|
|
|
|
test("多个允许退出码", () => {
|
|
expect(checkExitCode(0, [0, 1]).matched).toBe(true);
|
|
expect(checkExitCode(1, [0, 1]).matched).toBe(true);
|
|
expect(checkExitCode(2, [0, 1]).matched).toBe(false);
|
|
});
|
|
});
|