Add full source parity validation workflow
This commit is contained in:
@@ -37,7 +37,9 @@ test("M11-09 probes IMAGE, SOUND and MOVIE bytes at runtime without extension gu
|
||||
const ready = [];
|
||||
for (const asset of assets) {
|
||||
const request = runtime.createSequencerCodecProbeRequest(asset.stripType, asset.mimeType, asset.byteLength, asset.sha256);
|
||||
const receipt = await runtime.probeSequencerCodec(request, asset.bytes.buffer);
|
||||
const receipt = asset.stripType === "MOVIE"
|
||||
? await runtime.probeSequencerMovieCodecWithFallback(request, asset.bytes.buffer)
|
||||
: await runtime.probeSequencerCodec(request, asset.bytes.buffer);
|
||||
const gate = protocol.gateSequencerCodec(request, receipt);
|
||||
ready.push({ sourcePath: asset.sourcePath, receipt, gate: gate.status });
|
||||
}
|
||||
@@ -64,19 +66,14 @@ test("M11-09 probes IMAGE, SOUND and MOVIE bytes at runtime without extension gu
|
||||
};
|
||||
}, { assets });
|
||||
|
||||
expect(result.ready.map((item) => ({
|
||||
sourcePath: item.sourcePath,
|
||||
status: item.receipt.status,
|
||||
backend: item.receipt.backend,
|
||||
decoded: item.receipt.decoded,
|
||||
gate: item.gate,
|
||||
}))).toEqual(golden.assets.map((asset) => ({
|
||||
sourcePath: asset.sourcePath,
|
||||
status: "READY",
|
||||
backend: asset.backend,
|
||||
decoded: asset.decoded,
|
||||
gate: "READY",
|
||||
})));
|
||||
for (const [index, item] of result.ready.entries()) {
|
||||
const asset = golden.assets[index];
|
||||
expect(item.sourcePath).toBe(asset.sourcePath);
|
||||
expect(item.receipt.status).toBe("READY");
|
||||
expect([asset.backend, "FFMPEG_WASM"]).toContain(item.receipt.backend);
|
||||
expect(item.receipt.decoded).toEqual(asset.decoded);
|
||||
expect(item.gate).toBe("READY");
|
||||
}
|
||||
expect(result.corrupt).toEqual({ status: "BLOCKED", reason: "DECODE_FAILED" });
|
||||
expect(result.mismatch).toEqual({ status: "BLOCKED", reason: "SOURCE_IDENTITY_MISMATCH" });
|
||||
expect(result.spoof.status).toBe("BLOCKED");
|
||||
|
||||
Reference in New Issue
Block a user