Add full source parity validation workflow
This commit is contained in:
@@ -34,7 +34,7 @@ test("M11-10 binds a real movie proxy cache to source hash and runtime decode ca
|
||||
]);
|
||||
const request = probeModule.createSequencerCodecProbeRequest("MOVIE", movie.mimeType, movie.byteLength, movie.sha256);
|
||||
const sourceData = bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);
|
||||
const capability = await probeModule.probeSequencerCodec(request, sourceData.slice(0));
|
||||
const capability = await probeModule.probeSequencerMovieCodecWithFallback(request, sourceData.slice(0));
|
||||
const generated = await cacheModule.generateInitialSequencerMovieProxyFrame(request, capability, profile, sourceData.slice(0));
|
||||
const cache = new cacheModule.SequencerMediaProxyCache(generated.data.byteLength);
|
||||
const firstKey = await cache.put(generated.manifest, generated.data.slice(0), request, capability);
|
||||
@@ -108,15 +108,14 @@ test("M11-10 binds a real movie proxy cache to source hash and runtime decode ca
|
||||
};
|
||||
}, { movie, profile: cacheGolden.profile, bytes: new Uint8Array(bytes) });
|
||||
|
||||
expect(result.capability).toMatchObject({ status: "READY", backend: "HTML_MEDIA", decoded: movie.decoded });
|
||||
expect(result.manifest).toMatchObject({
|
||||
identitySha256: cacheGolden.identitySha256,
|
||||
payloadByteLength: cacheGolden.proxyByteLength,
|
||||
profile: cacheGolden.profile,
|
||||
});
|
||||
expect(result.capability).toMatchObject({ status: "READY", decoded: movie.decoded });
|
||||
expect(["HTML_MEDIA", "FFMPEG_WASM"]).toContain(result.capability.backend);
|
||||
expect(result.manifest).toMatchObject({ payloadByteLength: cacheGolden.proxyByteLength, profile: cacheGolden.profile });
|
||||
expect(result.manifest.identitySha256).toMatch(/^[a-f0-9]{64}$/);
|
||||
if (result.capability.backend === "HTML_MEDIA") expect(result.manifest.identitySha256).toBe(cacheGolden.identitySha256);
|
||||
expect(result.manifest.payloadSha256).toBe(result.storedPayloadSha256);
|
||||
expect(result.verifiedIdentity).toBe(cacheGolden.identitySha256);
|
||||
expect(result.firstKey).toBe(`sequencer-media-cache:v1:${cacheGolden.identitySha256}`);
|
||||
expect(result.verifiedIdentity).toBe(result.manifest.identitySha256);
|
||||
expect(result.firstKey).toBe(`sequencer-media-cache:v1:${result.manifest.identitySha256}`);
|
||||
expect(result.secondKey).not.toBe(result.firstKey);
|
||||
expect(result.hitBytes).toBe(cacheGolden.proxyByteLength);
|
||||
expect(result.evicted).toBe(true);
|
||||
|
||||
Reference in New Issue
Block a user