* test: strengthen and prune audited test coverage * test: require delivered DeepSeek skill instructions * test: keep schema fixture types private * test: verify Gemini receives skill instructions * test: bind Qwen skill evidence to its tool result * test: report NativeAOT verifier checks precisely * fix: verify Ghidra cleanup paths reliably * fix: verify Command Code skill activation * test: tighten cleanup and fixture checks * test: verify packet capture evidence is recorded * fix: report HTTP3 capture provenance accurately * test: preserve resource coverage through MCP * test: prune repeated assertions and retain cancellation identity * fix: validate client verifier fixture paths * test: skip Copilot verifier cases on Windows * test: keep verifier setup target relative
29 lines
932 B
TypeScript
29 lines
932 B
TypeScript
import { execFile } from "node:child_process";
|
|
import { resolve } from "node:path";
|
|
import { promisify } from "node:util";
|
|
import { expect, it } from "vitest";
|
|
|
|
const execute = promisify(execFile);
|
|
|
|
it("requires the default Flutter AOT result to belong to the identified ABI set", async () => {
|
|
const invoke = (kind: string) =>
|
|
execute(
|
|
process.execPath,
|
|
[
|
|
"--import",
|
|
resolve("tests/fixtures/flutterVerifierPreload.mjs"),
|
|
"scripts/verify-flutter.mjs",
|
|
"--apk",
|
|
"/tmp/fixture.apk",
|
|
],
|
|
{ env: { ...process.env, REA_FLUTTER_PROBE: kind }, timeout: 10_000 },
|
|
);
|
|
await expect(invoke("wrong")).rejects.toMatchObject({
|
|
stderr: expect.stringContaining(
|
|
"Default AOT selection must be one of the identified ABIs",
|
|
),
|
|
});
|
|
const result = await invoke("correct");
|
|
expect(result.stdout).toContain("all asserted Flutter CLI/MCP checks passed");
|
|
});
|