OpenZL cross-version fixtures
Used by codec::tests::reads_frames_from_wrapper_0_3_1.
| File | What |
plain.bin |
16 KiB of deterministic log-like lines (sha256 6ec39899…949f4c75) |
wrapper-0.3.1-format25.zl |
plain.bin compressed by openzl-sys-rs 0.3.1 from crates.io (OpenZL commit ca28e4bc, library 0.2.1) at its default frame format 25, compression level 3 (sha256 49af3ba4…8b0bf083) |
The frame stands for every archive written before the 0.4 bump. It has to be made by the old crate in a separate binary: 0.3.1 and 0.4 export the same C symbols, so they cannot be linked into one test.
Made 2026-10-02 with a throw-away tool (not committed) whose encode did: ZlCCtx::new(), formatVersion = ZL_getDefaultEncodingVersion() (25 there), compressionLevel = 3, compress. The same tool, rebuilt on 0.4, confirmed the reverse direction: a format-25 frame written by OpenZL 0.3.0 decodes on 0.3.1 (byte-identical to this fixture), while a format-27 frame is refused by 0.3.1 (ZL_getFormatVersionFromFrame errors). That refusal is why codec::OPENZL_WRITE_FORMAT stays 25 until every reader runs 0.4.
regress-constant-stream-alloc.zl
Used by archive::tests::the_constant_stream_fuzz_frame_is_refused and tests/openzl_internal_alloc.rs. The heimdall fuzz find (lane zlwasm, 2026-10-30, guests/verify-bundle/fuzz/seeds/openzl_frame/): 36 bytes whose header declares 0 decompressed bytes and whose constant codec asks OpenZL for a stream of about 2^64 bytes. The element count is the 10-byte varint at offset 0x11.