Skip to content

fix: V1/V2 object header parsing - 100% test suite pass rate#13

Merged
kolkov merged 1 commit intomainfrom
fix/issue-9-v1-header-parsing
Jan 27, 2026
Merged

fix: V1/V2 object header parsing - 100% test suite pass rate#13
kolkov merged 1 commit intomainfrom
fix/issue-9-v1-header-parsing

Conversation

@kolkov
Copy link
Contributor

@kolkov kolkov commented Jan 27, 2026

Summary

Fixes Issue #9 (continued) - comprehensive object header parsing fixes achieving 100% pass rate on official HDF5 test suite.

Bug Fixes

  • V1 Object Header: Fixed end offset calculation (was missing 16-byte header prefix)
  • V2 Object Header: Account for 4-byte CRC32 checksum at chunk end
  • V2 Message Headers: Use 6-byte headers when H5O_HDR_ATTR_CRT_ORDER_TRACKED (bit 2) is set
  • Soft Links: Lazy resolution following C library behavior (CacheType=2)
  • Named Datatypes: Added support for committed datatypes (object type 2)

Results

  • Official HDF5 test suite: 100% pass rate (378/378 valid files)
  • All tests pass, 0 lint issues

Test Plan

  • go test ./... passes
  • go test -race ./... passes
  • golangci-lint run ./... = 0 issues
  • TestOfficialHDF5Suite = 100% (378/378)
  • User's flux.h5 from Issue HDF5 files show up with no content #9 works correctly

Closes #9

- Fix V1 header: correct end offset calculation (missing 16-byte prefix)
- Fix V2 header: account for 4-byte CRC32 checksum at chunk end
- Fix V2 header: 6-byte message headers when creation order tracked (bit 2)
- Add soft link support: lazy resolution following C library behavior
- Add Named Datatype (committed datatype) support
- Official HDF5 test suite: 100% pass rate (378/378 valid files)
- Add flux.h5 test file from Issue #9 reporter
- Add test_results.txt to .gitignore
@codecov
Copy link

codecov bot commented Jan 27, 2026

Codecov Report

❌ Patch coverage is 60.78431% with 20 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
group.go 66.66% 8 Missing and 1 partial ⚠️
internal/core/objectheader.go 53.33% 4 Missing and 3 partials ⚠️
internal/structures/btree.go 0.00% 2 Missing ⚠️
internal/structures/symboltable.go 66.66% 2 Missing ⚠️

📢 Thoughts on this report? Let us know!

@kolkov kolkov merged commit 86f05e0 into main Jan 27, 2026
11 checks passed
@kolkov kolkov deleted the fix/issue-9-v1-header-parsing branch January 27, 2026 21:56
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.

HDF5 files show up with no content

1 participant