mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-02 16:31:03 +00:00
38 lines
1.2 KiB
TypeScript
38 lines
1.2 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { testing } from "../../scripts/test-perf-budget.mjs";
|
|
|
|
describe("test perf budget script", () => {
|
|
it("parses numeric budget env vars strictly before running Vitest", () => {
|
|
expect(
|
|
testing.parseArgs([], {
|
|
OPENCLAW_TEST_PERF_BASELINE_WALL_MS: "1000",
|
|
OPENCLAW_TEST_PERF_MAX_REGRESSION_PCT: "12.5",
|
|
OPENCLAW_TEST_PERF_MAX_WALL_MS: "1500",
|
|
}),
|
|
).toMatchObject({
|
|
baselineWallMs: 1000,
|
|
maxRegressionPct: 12.5,
|
|
maxWallMs: 1500,
|
|
});
|
|
|
|
expect(() =>
|
|
testing.parseArgs([], {
|
|
OPENCLAW_TEST_PERF_MAX_WALL_MS: "1000ms",
|
|
}),
|
|
).toThrow("OPENCLAW_TEST_PERF_MAX_WALL_MS must be a non-negative number");
|
|
});
|
|
|
|
it("rejects malformed CLI budget values before running Vitest", () => {
|
|
expect(testing.parseArgs(["--max-wall-ms", "1e3"], {})).toMatchObject({
|
|
maxWallMs: 1000,
|
|
});
|
|
|
|
expect(() => testing.parseArgs(["--max-wall-ms", "1e3ms"], {})).toThrow(
|
|
"--max-wall-ms must be a non-negative number",
|
|
);
|
|
expect(() => testing.parseArgs(["--max-regression-pct"], {})).toThrow(
|
|
"--max-regression-pct requires a value",
|
|
);
|
|
});
|
|
});
|