test: complete WP4-07 visual and performance budgets
Dada P0-A isolated Windows CI / validate-and-package (push) Failing after 2m34s

This commit is contained in:
suyx
2026-08-04 12:55:25 +08:00
parent 15f7afbe4d
commit c0a8bd6d43
23 changed files with 516 additions and 122 deletions
+17 -6
View File
@@ -10,7 +10,10 @@ test("WP5 lineage recognizes tasks already merged into later remote heads", () =
const gate = inspectWp5TaskLineage({
"codex/wp5-03": sha("3"),
"codex/wp5-04": sha("4"),
}, [commit(4), commit(3), commit(2), commit(1)]);
}, {
"codex/wp5-03": [commit(3), commit(2), commit(1)],
"codex/wp5-04": [commit(4), commit(2), commit(1)],
});
assert.equal(gate.complete, false);
assert.equal(gate.candidate_baseline_branch, "codex/wp5-04");
@@ -19,13 +22,21 @@ test("WP5 lineage recognizes tasks already merged into later remote heads", () =
assert.equal(gate.task_shas["TASK-WP5-02"], sha("2"));
});
test("WP5 lineage becomes complete only at a wp5-07 head containing every task", () => {
const heads = { "codex/wp5-07": sha("7") };
const complete = inspectWp5TaskLineage(heads, Array.from({ length: 7 }, (_, index) => commit(7 - index)));
const incomplete = inspectWp5TaskLineage(heads, [commit(7), commit(6), commit(5), commit(4), commit(3), commit(2)]);
test("WP5 lineage accepts independently pushed terminal branches without rewriting their heads", () => {
const heads = Object.fromEntries(Array.from({ length: 5 }, (_, index) => [`codex/wp5-0${index + 3}`, sha(String(index + 3))]));
const histories = {
"codex/wp5-03": [commit(3), commit(2), commit(1)],
"codex/wp5-04": [commit(4), commit(2), commit(1)],
"codex/wp5-05": [commit(5), commit(4), commit(2), commit(1)],
"codex/wp5-06": [commit(6), commit(5), commit(4), commit(2), commit(1)],
"codex/wp5-07": [commit(7), commit(4), commit(2), commit(1)],
};
const complete = inspectWp5TaskLineage(heads, histories);
const incomplete = inspectWp5TaskLineage(heads, { ...histories, "codex/wp5-03": [commit(2), commit(1)] });
assert.equal(complete.complete, true);
assert.deepEqual(complete.missing_tasks, []);
assert.deepEqual(complete.terminal_branch_shas, heads);
assert.equal(incomplete.complete, false);
assert.deepEqual(incomplete.missing_tasks, ["TASK-WP5-01"]);
assert.deepEqual(incomplete.missing_tasks, ["TASK-WP5-03"]);
});