fix(ci): trace test runner memory retention

This commit is contained in:
Vincent Koc
2026-03-19 14:02:19 -07:00
parent b7c39aa4d4
commit 98298f7931
3 changed files with 264 additions and 0 deletions

View File

@@ -1,4 +1,5 @@
import { describe, expect, it } from "vitest";
import { parseCompletedTestFileLines } from "../../scripts/test-parallel-memory.mjs";
import {
appendCapturedOutput,
hasFatalTestRunOutput,
@@ -44,3 +45,35 @@ describe("scripts/test-parallel fatal output guard", () => {
expect(appendCapturedOutput(output, "defg", 5)).toBe("cdefg");
});
});
describe("scripts/test-parallel memory trace parsing", () => {
it("extracts completed test file lines from colored Vitest output", () => {
const output = [
"\u001B[32m✓\u001B[39m src/config/doc-baseline.test.ts \u001B[2m(\u001B[22m\u001B[2m8 tests\u001B[22m\u001B[2m)\u001B[22m\u001B[33m 46424\u001B[2mms\u001B[22m\u001B[39m",
" \u001B[32m✓\u001B[39m src/infra/restart.test.ts (5 tests) 4.2s",
].join("\n");
expect(parseCompletedTestFileLines(output)).toEqual([
{
file: "src/config/doc-baseline.test.ts",
durationMs: 46_424,
},
{
file: "src/infra/restart.test.ts",
durationMs: 4_200,
},
]);
});
it("ignores non-file summary lines", () => {
expect(
parseCompletedTestFileLines(
[
" Test Files 2 passed (2)",
" Tests 30 passed (30)",
"[test-parallel] done unit code=0 elapsed=68.8s",
].join("\n"),
),
).toEqual([]);
});
});