diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index fcc2d23..f57d8e4 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -38,7 +38,11 @@ jobs: /opt/interop/bin/pip install --no-cache-dir h5py numpy netCDF4 xarray hdf5plugin echo "/opt/interop/bin" >> "$GITHUB_PATH" - name: Show interop library versions - run: /opt/interop/bin/python -c "import h5py, netCDF4, hdf5plugin; print('h5py', h5py.__version__, 'HDF5', h5py.version.hdf5_version, 'netCDF4', netCDF4.__version__, 'hdf5plugin', hdf5plugin.version)" + # h5dump's version too: the h5rs dump test requires its exact output + # (checked against Debian's 1.14.5 in rust:latest and 1.14.6). + run: | + /opt/interop/bin/python -c "import h5py, netCDF4, hdf5plugin; print('h5py', h5py.__version__, 'HDF5', h5py.version.hdf5_version, 'netCDF4', netCDF4.__version__, 'hdf5plugin', hdf5plugin.version)" + h5dump --version - name: Run CI script env: # Name the interpreter outright rather than relying on $GITHUB_PATH diff --git a/CHANGELOG.md b/CHANGELOG.md index dbaf30b..beb4f6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -121,7 +121,8 @@ address, link count, layout and chunk index, chunk size, storage, filters, datatype and attributes. - `h5rs dump [--json] [-A] [-p] [-d PATH] FILE` prints DDL text that is - byte-identical to h5dump 1.14.6's on the test files (all layouts and + byte-identical to h5dump 1.14.6's (and to Debian's 1.14.5, which CI + uses) on the test files (all layouts and chunk indexes, v1/v2 groups, compound, enum, strings, links, named types, attributes; null-padded strings show their NULs at any depth), or JSON in the HDF Group's hdf5-json layout (schema in the crate diff --git a/crates/clawhdf5-tools/README.md b/crates/clawhdf5-tools/README.md index e045498..2c1dab5 100644 --- a/crates/clawhdf5-tools/README.md +++ b/crates/clawhdf5-tools/README.md @@ -71,7 +71,9 @@ The DDL output is h5dump's: on the test files of `tests/gen_files.py` groups; integers of both byte orders, floats, compound with an array member, enum, fixed and variable-length strings; soft, external and hard links; a named datatype; compact and dense attributes) `h5rs dump` and `h5rs dump -A` -print the same bytes as h5dump 1.14.6 — `dump_matches_h5dump` in +print the same bytes as h5dump 1.14.6 and as Debian's h5dump 1.14.5 (the +`hdf5-tools` package CI installs in `rust:latest`; the whole interop suite +was run in that image on 2026-09-26) — `dump_matches_h5dump` in `tests/h5rs_interop.rs` checks this, and `dump_shows_nul_padding_in_nested_strings` that null-padded strings show their NULs (`"a\000b"`) at any depth, as h5dump's do. Not covered by those tests: references, opaque, bitfield,