Conversation
brtnfld
approved these changes
May 1, 2026
Contributor
brtnfld
left a comment
There was a problem hiding this comment.
add_executable placed outside if (H5PL_BUILD_TESTING) — minor
In both BITGROOM/example/CMakeLists.txt and BITROUND/example/CMakeLists.txt, the h5repack_floats_* executables are compiled unconditionally, even when H5PL_BUILD_TESTING=OFF. Unlike the example programs that live before the if (H5PL_BUILD_TESTING) block (which are independently useful), these generators serve no purpose outside of testing. Consider guarding them:
if (H5PL_BUILD_TESTING)
add_executable (h5repack_floats_bitgroom ${PROJECT_SOURCE_DIR}/h5repack_floats.c)
...
endif ()
avoid violating assumptions about the meaning of that variable elsewhere in the code.
The captured value references in the removed tests seem not reproducible across platforms which needs further investigation. Untill then, the h5dump value tests are removed.
BitGroom filter does not have platform-dependent value problem so this test can come back.
ccr_gbr() called log10()+floor() per value to decide how many mantissa bits to zero, but log10() differences (~1 ULP, allowed by the C standard) at floor() integer boundaries produce 1-bit-different stored output on different platforms (as indicated by tests using macOS BSD libm and Linux glibc).
Bitround ulp reproducibility
An early-return check that read uninitialized prc_bnr_xpl_rqr variable was removed from the BitRound filter.
The h5repack_floats_bit{groom,round} helpers were invoked directly with
add_test(COMMAND $<TARGET_FILE:...>); on Windows the loader could not
find the HDF5 DLL and reported STATUS_DLL_NOT_FOUND, cascading into
gen-input/ud_convert/h5dump test failures. Route the fixture through
runTest.cmake so PATH/DYLD_LIBRARY_PATH/LD_LIBRARY_PATH are set up
consistently across platforms.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Both plugins' ` callbacks remove themselves from the pipeline on
non-float datasets, so the previous shared h5repack_layout.h5 input (integer
data) caused the tests to silently apply nothing once the plugin path was
fixed in #238.
Each plugin now ships a small
h5repack_floatshelper thatgenerates a chunked dataset of non-integer floats, and two
h5dumpcheckson the post-repack output assert that the filter ID stays in the pipeline
(via the
-pHcommand options) and that the dumped values match the capturedquantized output (via a
.ddloutput).Closes #240.