ci: show h5dump's version; h5rs dump output checked against 1.14.5
dump_matches_h5dump requires byte identity with the h5dump on PATH, and CI's rust:latest (Debian 13.7) installs hdf5-tools 1.14.5, not the 1.14.6 the test was written against. Ran the whole clawhdf5-tools suite in rust:latest with Debian's hdf5-tools and pip h5py 3.16.0 (HDF5 2.0.0), as CI sets it up, with CLAWHDF5_REQUIRE_INTEROP=1: 18 of 18 pass, so the comparison needs no loosening. The version is now printed in the CI log so a future Debian update that changes the output is easy to spot. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
@@ -38,7 +38,11 @@ jobs:
|
|||||||
/opt/interop/bin/pip install --no-cache-dir h5py numpy netCDF4 xarray hdf5plugin
|
/opt/interop/bin/pip install --no-cache-dir h5py numpy netCDF4 xarray hdf5plugin
|
||||||
echo "/opt/interop/bin" >> "$GITHUB_PATH"
|
echo "/opt/interop/bin" >> "$GITHUB_PATH"
|
||||||
- name: Show interop library versions
|
- 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
|
- name: Run CI script
|
||||||
env:
|
env:
|
||||||
# Name the interpreter outright rather than relying on $GITHUB_PATH
|
# Name the interpreter outright rather than relying on $GITHUB_PATH
|
||||||
|
|||||||
+2
-1
@@ -121,7 +121,8 @@
|
|||||||
address, link count, layout and chunk index, chunk size, storage,
|
address, link count, layout and chunk index, chunk size, storage,
|
||||||
filters, datatype and attributes.
|
filters, datatype and attributes.
|
||||||
- `h5rs dump [--json] [-A] [-p] [-d PATH] FILE` prints DDL text that is
|
- `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
|
chunk indexes, v1/v2 groups, compound, enum, strings, links, named
|
||||||
types, attributes; null-padded strings show their NULs at any depth),
|
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
|
or JSON in the HDF Group's hdf5-json layout (schema in the crate
|
||||||
|
|||||||
@@ -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,
|
groups; integers of both byte orders, floats, compound with an array member,
|
||||||
enum, fixed and variable-length strings; soft, external and hard links; a
|
enum, fixed and variable-length strings; soft, external and hard links; a
|
||||||
named datatype; compact and dense attributes) `h5rs dump` and `h5rs dump -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`
|
`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
|
that null-padded strings show their NULs (`"a\000b"`) at any depth, as
|
||||||
h5dump's do. Not covered by those tests: references, opaque, bitfield,
|
h5dump's do. Not covered by those tests: references, opaque, bitfield,
|
||||||
|
|||||||
Reference in New Issue
Block a user