docs: first conformance report and baseline (42b81d9, tank)
467 of 697 files read identically to h5py 3.16 / HDF5 2.0, 123 our-error, 15 mismatch (2 an h5py big-endian VL bug), 92 libhdf5 cannot read; no panics, hangs, crashes or OOM. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
@@ -197,6 +197,23 @@
|
||||
takes `--f32`; it had kept printing "f32" after the default changed.
|
||||
|
||||
### Interop
|
||||
- **Conformance sweep in the repo** (`conformance/`, report in
|
||||
`CONFORMANCE.md`). `conformance/run.sh` fetches eight public HDF5 corpora
|
||||
pinned by commit (libhdf5's test files, the HDF Group's CVE reproducers,
|
||||
pyfive, netcdf-c, netcdf4-python, h5wasm, h5py, xarray-data) into a
|
||||
gitignored cache, reads every file with clawhdf5 and with h5py/libhdf5 (and
|
||||
the CVE files with h5dump) under a timeout and memory limit, compares them
|
||||
object by object and regenerates the report — about 30 s once the corpus is
|
||||
cached. A nightly Gitea job (`.gitea/workflows/conformance.yml`) runs it and
|
||||
fails on any panic, hang, crash or out-of-memory, or when a file in
|
||||
`conformance/baseline.json` stops reading identically. First report, on
|
||||
42b81d9: 467 of 697 files identical to h5py, 123 our-error, 15 mismatch
|
||||
(2 of them an h5py bug), 92 that libhdf5 cannot read, no panics, hangs or
|
||||
crashes. Compared with the ad-hoc audit sweep, the probe now compares
|
||||
N-Bit floats (and integers with a bit offset) as the values libhdf5
|
||||
converts them to rather than raw file bytes — 8 files that were reported as
|
||||
mismatches read identically — and the reference side no longer flips
|
||||
between runs when libhdf5 aborts while freeing h5py objects.
|
||||
- `clawhdf5-format`: **every `f32` dataset was unreadable by h5py and
|
||||
libhdf5.** The float datatype encoder hard-coded the sign bit's position to
|
||||
63, correct only for `f64`; libhdf5 validates it and refused the dataset. It
|
||||
|
||||
Reference in New Issue
Block a user