mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-01-30 15:32:37 +08:00
Fix for daily test failure for test/fheap.c
The failure occurs when HDF5TestExpress is set to 0. The check for file size check fails due to persisting free-space when creating the file. The fix is to set libver bounds (v18, latest) when creating the test file.
This commit is contained in:
parent
90f9596c3a
commit
2fb0b8c353
27
test/fheap.c
27
test/fheap.c
@ -16458,6 +16458,33 @@ main(void)
|
||||
if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_FSM_AGGR, TRUE, (hsize_t)1) < 0)
|
||||
TEST_ERROR
|
||||
fapl = def_fapl;
|
||||
/* This is a fix for the daily test failure from the checkin for libver bounds. */
|
||||
/*
|
||||
* Many tests failed the file size check when comparing (a) and (b) as below:
|
||||
* --Create a file and close the file. Got the initial file size (a).
|
||||
* --Reopen the file, perform fractal heap operations, and close the file.
|
||||
* Got the file size (b).
|
||||
* The cause for the file size differences:
|
||||
* When the file is initially created with persisting free-space and with
|
||||
* (earliest, latest) libver bounds, the file will have version 2 superblock
|
||||
* due to non-default free-space handling. As the low bound is earliest,
|
||||
* the library uses version 1 object header when creating the superblock
|
||||
* extension message.
|
||||
* When the file is reopened with the same libver bounds, the file's low
|
||||
* bound is upgraded to v18 because the file has version 2 superblock.
|
||||
* When the library creates the superblock extension message on file close,
|
||||
* the library uses version 2 object header for the superblock extension
|
||||
* message since the low bound is v18.
|
||||
* This leads to the discrepancy in file sizes as the file is persisting
|
||||
* free-space and there is object header version differences.
|
||||
* The fix:
|
||||
* Set libver bounds in fapl to (v18, latest) so that the file created in the
|
||||
* test routines will have low bound set to v18. This will cause the
|
||||
* library to use version 2 object header for the superblock extension
|
||||
* message.
|
||||
*/
|
||||
if(H5Pset_libver_bounds(fapl, H5F_LIBVER_V18, H5F_LIBVER_LATEST) < 0)
|
||||
TEST_ERROR
|
||||
break;
|
||||
case 2:
|
||||
if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, (hsize_t)1) < 0)
|
||||
|
Loading…
Reference in New Issue
Block a user