Skip to content

test(dense): add NetCDF-4 dense-link fixture + read test - #56

Merged
kolkov merged 1 commit into
scigolib:mainfrom
shyrmapp:test/dense-link-fixture
Jun 25, 2026
Merged

kolkov merged 1 commit into
scigolib:mainfrom
shyrmapp:test/dense-link-fixture

Conversation

@rhaist

@rhaist rhaist commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Adds a small NetCDF-4 dense-link fixture (testdata/dense_links.h5, generated from the committed dense_links.cdl) and a read test, as requested by @kolkov in #55.

Root group has 16 datasets — past HDF5's 8-link compact threshold — so links are stored in a fractal heap + v2 B-tree. The heap header has ChecksumDirBlocks set, so the test covers both ReadDenseHeapObjects and the checksummed direct-block branch. Unblocks dense-link coverage for v0.14.0.

Round-trip gap (CreateDenseGroup writer, tiny-ID vs managed-ID) is left for the separate writer fix.

@rhaist
rhaist requested a review from kolkov as a code owner June 25, 2026 15:26
@codecov

codecov Bot commented Jun 25, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Adds testdata/dense_links.h5 (generated via ncgen -4 from the committed
dense_links.cdl): a root group with 16 datasets that exceeds HDF5's 8-link
compact threshold, so links are stored in a fractal heap + v2 B-tree. The
heap header has the ChecksumDirBlocks flag set, so reading it covers both
the ReadDenseHeapObjects path and the checksummed direct-block branch.

Requested by @kolkov in scigolib#55 to unblock dense-link coverage for v0.14.0.
@rhaist
rhaist force-pushed the test/dense-link-fixture branch from 23f4537 to 9421957 Compare June 25, 2026 15:30

@kolkov kolkov left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Exactly what we needed — thank you for the quick follow-up.

The fixture covers both ReadDenseHeapObjects and the ChecksumDirBlocks direct-block branch. Including the CDL source is a nice touch for reproducibility.

All CI green. Merging.

@kolkov
kolkov merged commit cd83086 into scigolib:main Jun 25, 2026
6 checks passed
@kolkov kolkov mentioned this pull request Jun 25, 2026
1 task done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants