ci: lint all targets, run interop suites for real, compile benches
- clippy --all-targets plus a clawhdf5-format feature matrix (parallel, lz4, zstd, pcodec, fast-checksum); fix the accumulated lint backlog in test, bench and feature-gated code (no behaviour changes). - Install python3 + h5py/numpy/netCDF4/xarray in the CI container and set CLAWHDF5_REQUIRE_INTEROP=1, which makes a missing interop dependency a test failure. Every h5py/netCDF4 interop test used to skip silently in CI. Run the #[ignore]d writer_h5py_tests suite explicitly. - cargo bench --no-run so benches can't rot; fix bench.rs and memory_bench.rs, which no longer compiled against the current strategy/consolidation APIs. - Optional fuzz smoke run via CLAWHDF5_FUZZ_SECONDS. - CHANGELOG and docs/known-issues.md updated. Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
706189c3ef
commit
bbe1baa208
@@ -413,11 +413,8 @@ mod tests {
|
||||
#[test]
|
||||
fn soft_link() {
|
||||
let target = "/group1/dataset";
|
||||
let mut data = Vec::new();
|
||||
data.push(1); // version
|
||||
data.push(0x08); // flags: bit 3 = link type present, name size = 1 byte (bits 0-1 = 0)
|
||||
data.push(1); // link type = soft
|
||||
data.push(4); // name length = 4
|
||||
// version, flags (bit 3 = link type present, name size = 1 byte), link type = soft, name length = 4
|
||||
let mut data = vec![1, 0x08, 1, 4];
|
||||
data.extend_from_slice(b"link");
|
||||
data.extend_from_slice(&(target.len() as u16).to_le_bytes());
|
||||
data.extend_from_slice(target.as_bytes());
|
||||
@@ -455,12 +452,8 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn invalid_link_type() {
|
||||
let mut data = Vec::new();
|
||||
data.push(1); // version
|
||||
data.push(0x08); // flags: bit 3 = link type present
|
||||
data.push(99); // invalid link type
|
||||
data.push(1); // name length = 1
|
||||
data.push(b'x');
|
||||
// version, flags (bit 3 = link type present), invalid link type = 99, name length = 1, name = 'x'
|
||||
let data = vec![1, 0x08, 99, 1, b'x'];
|
||||
let err = LinkMessage::parse(&data, 8).unwrap_err();
|
||||
assert_eq!(err, FormatError::InvalidLinkType(99));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user