Parent: #589
The Puffin reader and writer (#676) have round-trip tests against fixtures iceberg-go produces itself. There is no test that exercises a Java-produced .puffin file containing a deletion-vector-v1 blob — the cross-client wire-format guarantee is unpinned.
Generate a small fixture (a Java- or pyiceberg-produced .puffin with one DV blob), check it into puffin/testdata/ alongside the existing canonical Java fixtures, then read it via the existing Puffin reader and assert blob count, blob type (deletion-vector-v1), magic header, and raw payload bytes against an expected snapshot.
Independent of #866 — uses raw bytes, no roaring codec required. Pins the wire format ahead of #866 / #996 / #997 landing.
Parent: #589
The Puffin reader and writer (#676) have round-trip tests against fixtures iceberg-go produces itself. There is no test that exercises a Java-produced
.puffinfile containing adeletion-vector-v1blob — the cross-client wire-format guarantee is unpinned.Generate a small fixture (a Java- or pyiceberg-produced
.puffinwith one DV blob), check it intopuffin/testdata/alongside the existing canonical Java fixtures, then read it via the existing Puffin reader and assert blob count, blob type (deletion-vector-v1), magic header, and raw payload bytes against an expected snapshot.Independent of #866 — uses raw bytes, no roaring codec required. Pins the wire format ahead of #866 / #996 / #997 landing.