test: strengthen integration oracles and verification (#8295)

* test: strengthen integration oracles and verification

* test: bound lifecycle gates and strengthen workflow checks

* test: verify complete paged and extracted results

* test: preserve bytecode and cancellation evidence

* test: strengthen retained evidence and fixture cleanup

* test: require cross-projection bridge identities

* test: retain fixture owners through cleanup failures

* test: verify graph examples and project selectors

* test: tighten provider and lifecycle regressions

* test: consolidate hex coverage and bound cutter cleanup

* test: bound subprocess output waits and strengthen graph checks

* test: check mcp recovery and preserve cleanup owners

* test: verify structured mcp argument failures

* test: preserve artifact cleanup and gdb limit evidence

* test: preserve evidence identities and bound provider gates

* test: retain browser and comparison cleanup owners

* test: bound startup and strengthen fixture oracles

* test: bound lifecycle gates and verify recovered evidence

* test: verify public outcomes and lifecycle ownership

* test: assert precise evidence and release lifecycle gates

* test: verify selected facts and bound cleanup waits

* test: check retained evidence and decoded records

* test: verify final reports and retain cleanup ownership

* test: bound reviewed startup gates and retain cleanup

* test: verify PE errors and preserve MCP cleanup

* test: preserve MCP fixture cleanup ownership

* test: release provider gates before late startup
This commit is contained in:
morluto authored and GitHub committed 2026-11-01 00:15:28 +08:00
1 parent 2d5dec26c3
commit 60149282fc
342 files changed
+8844 -6279

No files matched your search

-62
View File
@@ -1095,68 +1095,6 @@ it("rejects code keys and members whose consts are unhashable", () => {
expect(hashable.coverage.status).toBe("complete");
});
it("uses the code equality fields for each CPython layout", () => {
const codeCollections = (
layout: "py38" | "py311",
different: boolean,
): [Buffer, Buffer] => {
const lineA = marshalCode(layout, {
name: "f",
filename: "fixture.py",
firstlineno: 1,
linetable: Buffer.from([2, 1]),
});
const lineB = marshalCode(layout, {
name: "f",
filename: "fixture.py",
firstlineno: 1,
linetable: Buffer.from([2, different ? 2 : 1]),
});
const frozenSet = Buffer.concat([
Buffer.from([0x3e]),
u32(2),
lineA,
lineB,
]);
const dict = Buffer.concat([
Buffer.from([0x7b]),
lineA,
Buffer.from([0x4e]),
lineB,
Buffer.from([0x54, 0x30]),
]);
return [frozenSet, dict];
};
for (const [magic, layout] of [
[3413, "py38"],
[3439, "py38"],
] as const) {
const [frozenSet, dict] = codeCollections(layout, true);
const report = parse(
Buffer.concat([
pythonPycHeader(magic),
marshalCode(layout, { consts: [frozenSet, dict] }),
]),
);
expect(root(report).consts).toEqual([
{ kind: "frozenset", length: 1 },
{ kind: "dict", length: 1 },
]);
}
const [frozenSet, dict] = codeCollections("py311", true);
const py312 = parse(
Buffer.concat([
pythonPycHeader(3531),
marshalCode("py311", { consts: [frozenSet, dict] }),
]),
);
expect(root(py312).consts).toEqual([
{ kind: "frozenset", length: 2 },
{ kind: "dict", length: 2 },
]);
});
it("keeps the first dictionary key when a later key compares equal", () => {
const key = (filename: string): Buffer =>
marshalCode("py311", {