mirror of
https://github.com/morluto/rea.git
synced 2026-11-07 15:26:25 +00:00
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:
1 parent
2d5dec26c3
commit
60149282fc
342 files changed
+8844
-6279
No files matched your search
@@ -4,6 +4,8 @@ import { join } from "node:path";
|
||||
import { pathToFileURL } from "node:url";
|
||||
|
||||
import { afterEach, expect, it, vi } from "vitest";
|
||||
import { withVerifierCleanup } from "../../scripts/lib/verifier-cleanup.mjs";
|
||||
import { awaitAcknowledgement } from "../../tests/fixtures/lifecycleAcknowledgement.js";
|
||||
|
||||
const fileAccess = vi.hoisted(() => ({
|
||||
path: undefined as string | undefined,
|
||||
@@ -248,31 +250,43 @@ it("drains pending Electron discovery before shutdown cleanup completes", async
|
||||
const listing = provider.listTargets(
|
||||
listElectronTargetsInputSchema.parse({ cdp_endpoint: fake.endpoint }),
|
||||
);
|
||||
await started;
|
||||
let closed = false;
|
||||
const closing = provider.close().then(() => {
|
||||
closed = true;
|
||||
});
|
||||
const closedBeforeDiscovery = await Promise.race([
|
||||
closing.then(() => true),
|
||||
new Promise<boolean>((resolve) => setImmediate(() => resolve(false))),
|
||||
]);
|
||||
expect(closedBeforeDiscovery).toBe(false);
|
||||
expect(closed).toBe(false);
|
||||
releaseDiscovery();
|
||||
let closing: Promise<void> | undefined;
|
||||
await withVerifierCleanup(async () => {
|
||||
await awaitAcknowledgement(started, listing, "Electron discovery");
|
||||
closing = provider.close().then(() => {
|
||||
closed = true;
|
||||
});
|
||||
const closedBeforeDiscovery = await Promise.race([
|
||||
closing.then(() => true),
|
||||
new Promise<boolean>((resolve) => setImmediate(() => resolve(false))),
|
||||
]);
|
||||
expect(closedBeforeDiscovery).toBe(false);
|
||||
expect(closed).toBe(false);
|
||||
releaseDiscovery();
|
||||
|
||||
const [listed] = await Promise.all([listing, closing]);
|
||||
expect(closed).toBe(true);
|
||||
expect(listed.ok).toBe(true);
|
||||
expect(fileAccess.calls).toContain("stat");
|
||||
const rejected = await provider.listTargets(
|
||||
listElectronTargetsInputSchema.parse({ cdp_endpoint: fake.endpoint }),
|
||||
);
|
||||
expect(rejected.ok).toBe(false);
|
||||
if (rejected.ok)
|
||||
throw new Error("Expected closed provider admission failure");
|
||||
expect(rejected.error.cleanupIncomplete).toBe(false);
|
||||
expect(rejected.error.cleanupResources).toEqual([]);
|
||||
const [listed] = await Promise.all([listing, closing]);
|
||||
expect(closed).toBe(true);
|
||||
expect(listed.ok).toBe(true);
|
||||
expect(fileAccess.calls).toContain("stat");
|
||||
const rejected = await provider.listTargets(
|
||||
listElectronTargetsInputSchema.parse({ cdp_endpoint: fake.endpoint }),
|
||||
);
|
||||
expect(rejected.ok).toBe(false);
|
||||
if (rejected.ok)
|
||||
throw new Error("Expected closed provider admission failure");
|
||||
expect(rejected.error.cleanupIncomplete).toBe(false);
|
||||
expect(rejected.error.cleanupResources).toEqual([]);
|
||||
}, [
|
||||
releaseDiscovery,
|
||||
async () => {
|
||||
await listing;
|
||||
},
|
||||
async () => {
|
||||
await closing;
|
||||
},
|
||||
() => provider.close(),
|
||||
]);
|
||||
});
|
||||
|
||||
it("keeps ordinary and malformed file-location authorization unchanged", async () => {
|
||||
|
||||
Reference in new issue
Block a user