Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/znippy

znippy-common/tests/fixtures/openzl/README.md

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.