diff options
author | jake.smith <jake.smith@hdfgroup.org> | 2018-12-29 20:31:31 (GMT) |
---|---|---|
committer | jake.smith <jake.smith@hdfgroup.org> | 2018-12-29 20:31:31 (GMT) |
commit | 905c3ca3d7736b151ff0889290c0c9e377988f26 (patch) | |
tree | 3b6d8b5ab846dcf0a29bf14460e5058096e78800 /test/dsets.c | |
parent | ba095e6a53a919c9753463c3800a26b180b7a135 (diff) | |
parent | f54fb420d08ea0a7e7b026150c0ab559803e0acd (diff) | |
download | hdf5-905c3ca3d7736b151ff0889290c0c9e377988f26.zip hdf5-905c3ca3d7736b151ff0889290c0c9e377988f26.tar.gz hdf5-905c3ca3d7736b151ff0889290c0c9e377988f26.tar.bz2 |
Merge pull request #1372 in HDFFV/hdf5 from ~JAKE.SMITH/hdf5:dset_ohdr_minimize to develop
Dataset object header minimization
Jira TRILAB-45
* commit 'f54fb420d08ea0a7e7b026150c0ab559803e0acd': (34 commits)
Specify variable type. Remove unnecessary whitespace.
OHDR tests now accept h5_fileaccess() fapls. Formatting, informative comments, and minor renaming.
Fix some CMake listings
Add error checking to the minimized dset header size calculation. Update printf->HDprintf statements.
Remove `#if 0` block of deprecated code.
Fix mistake with H5E_BEGIN_TRY {...} H5E_END_TRY block containing ERROR-raising macros. Formatting tweaks.
Add "compact" storage test to relative header size comparisons.
Formatting adjustments.
Formatting adjustments
Move H5Fset_dset_no_attrs_hint VOL operations to native. Move minimzied object header tests from separate file to test/ohdr.c Some formatting changes.
Re-format test/ohdr_mindset.c Fix a few transcription errors in other test files.
formatting adjustments
Reformat to be more consistent with existing code. Fix a few typos.
add missing paramter - macro seemingly unused, but absence results in compiler complaint
fix reference; move declaration in file
Remove unused debugging print in '#if 0' block
Fix typo. Fix CHECK of wrong ID (dset[2|3]_id).
change test file name and apply 'h5_fixname' to it
Sidestep and hide&flag minor issues causing test failures.
Incorporate minimized dset ohdr tests into extant suite.
...
Diffstat (limited to 'test/dsets.c')
-rw-r--r-- | test/dsets.c | 580 |
1 files changed, 352 insertions, 228 deletions
diff --git a/test/dsets.c b/test/dsets.c index 5cd376a..e63878c 100644 --- a/test/dsets.c +++ b/test/dsets.c @@ -86,6 +86,9 @@ const char *FILENAME[] = { NULL }; +#define OHMIN_FILENAME_A "ohdr_min_a" + + #define FILENAME_BUF_SIZE 1024 #define KB 1024 @@ -338,7 +341,7 @@ filter_count(unsigned int flags, size_t H5_ATTR_UNUSED cd_nelmts, count_nbytes_written += nbytes; return nbytes; -} +} /* end filter_count() */ /*------------------------------------------------------------------------- @@ -481,11 +484,11 @@ test_create(hid_t file) if(H5Dclose(dataset) < 0) goto error; PASSED(); - return 0; + return SUCCEED; error: - return -1; -} + return FAIL; +} /* end test_create() */ /*------------------------------------------------------------------------- @@ -605,7 +608,7 @@ test_simple_io(const char *env_h5_drvr, hid_t fapl) puts(" Current VFD doesn't support continuous address space"); } /* end else */ - return 0; + return SUCCEED; error: if(space > 0) @@ -620,8 +623,8 @@ error: HDclose(f); if(tconv_buf) HDfree(tconv_buf); - return -1; -} + return FAIL; +} /* end test_simple_io() */ /*------------------------------------------------------------------------- @@ -713,7 +716,7 @@ test_userblock_offset(const char *env_h5_drvr, hid_t fapl, hbool_t new_format) puts(" Current VFD doesn't support continuous address space"); } /* end else */ - return 0; + return SUCCEED; error: if(space > 0) @@ -726,8 +729,8 @@ error: if(H5Fclose(file) < 0) TEST_ERROR if(f > 0) HDclose(f); - return -1; -} + return FAIL; +} /* end test_userblock_offset() */ /*------------------------------------------------------------------------- @@ -826,7 +829,7 @@ test_compact_io(hid_t fapl) **************************************/ /* Create a copy of file access property list */ - if((new_fapl = new_fapl = h5_fileaccess()) < 0) TEST_ERROR + if((new_fapl = h5_fileaccess()) < 0) TEST_ERROR /* Loop through all the combinations of low/high library format bounds, skipping invalid combinations. @@ -907,7 +910,7 @@ test_compact_io(hid_t fapl) if(H5Pclose(plist) < 0) TEST_ERROR PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -919,8 +922,8 @@ test_compact_io(hid_t fapl) H5Fclose(verfile); } H5E_END_TRY; - return -1; -} + return FAIL; +} /* end test_compact_io() */ /*------------------------------------------------------------------------- @@ -1056,7 +1059,7 @@ test_max_compact(hid_t fapl) FAIL_STACK_ERROR PASSED(); - return 0; + return SUCCEED; error: if(wbuf) @@ -1072,7 +1075,7 @@ error: H5Fclose(file); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_max_compact() */ @@ -1181,7 +1184,7 @@ test_layout_extend(hid_t fapl) if(H5Fclose(fid) < 0) FAIL_STACK_ERROR PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -1195,7 +1198,7 @@ error: H5Fclose(fid); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_layout_extend() */ @@ -1331,7 +1334,7 @@ test_conv_buffer(hid_t fid) HDfree(cf); HDfree(cfrR); puts(" PASSED"); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -1347,8 +1350,8 @@ error: H5Dclose(dataset); } H5E_END_TRY; - return -1; -} + return FAIL; +} /* end test_conv_buffer() */ /*------------------------------------------------------------------------- @@ -1418,7 +1421,7 @@ test_tconv(hid_t file) HDfree(in); puts(" PASSED"); - return 0; + return SUCCEED; error: if(out) @@ -1431,8 +1434,8 @@ error: H5Sclose(space); } H5E_END_TRY; - return -1; -} + return FAIL; +} /* end test_tconv() */ /* This message derives from H5Z */ const H5Z_class2_t H5Z_BOGUS[1] = {{ @@ -1465,7 +1468,7 @@ can_apply_bogus(hid_t H5_ATTR_UNUSED dcpl_id, hid_t type_id, hid_t H5_ATTR_UNUSE return 1; else return -1; -} +} /* end can_apply_bogus() */ /*------------------------------------------------------------------------- @@ -1483,7 +1486,7 @@ filter_bogus(unsigned int H5_ATTR_UNUSED flags, size_t H5_ATTR_UNUSED cd_nelmts, size_t H5_ATTR_UNUSED *buf_size, void H5_ATTR_UNUSED **buf) { return nbytes; -} +} /* end filter_bogus() */ /*------------------------------------------------------------------------- @@ -1583,7 +1586,7 @@ filter_bogus2(unsigned int flags, size_t cd_nelmts, /* Filter is "no op" */ else return(nbytes); -} +} /* end filter_bogus2() */ /*------------------------------------------------------------------------- @@ -1601,7 +1604,7 @@ filter_bogus3(unsigned int H5_ATTR_UNUSED flags, size_t H5_ATTR_UNUSED cd_nelmts size_t H5_ATTR_UNUSED *buf_size, void H5_ATTR_UNUSED **buf) { return 0; -} +} /* end filter_bogus3() */ /* This message derives from H5Z */ const H5Z_class2_t H5Z_CORRUPT[1] = {{ @@ -1690,7 +1693,7 @@ filter_cb_cont(H5Z_filter_t filter, void H5_ATTR_UNUSED *buf, size_t H5_ATTR_UNU return H5Z_CB_CONT; else return H5Z_CB_FAIL; -} +} /* end filter_cb_cont() */ /*------------------------------------------------------------------------- @@ -1709,7 +1712,7 @@ filter_cb_fail(H5Z_filter_t filter, void H5_ATTR_UNUSED *buf, size_t H5_ATTR_UNU return H5Z_CB_FAIL; else return H5Z_CB_CONT; -} +} /* end filter_cb_fail() */ /*------------------------------------------------------------------------- @@ -2052,13 +2055,13 @@ test_filter_internal(hid_t fid, const char *name, hid_t dcpl, int if_fletcher32, if(H5Pclose (write_dxpl) < 0) goto error; HDfree (tconv_buf); - return(0); + return SUCCEED; error: if(tconv_buf) HDfree (tconv_buf); - return -1; -} + return FAIL; +} /* end test_filter_internal() */ /*------------------------------------------------------------------------- * Function: test_filter_noencoder @@ -2160,7 +2163,7 @@ test_filter_noencoder(const char *dset_name) PASSED(); - return 0; + return SUCCEED; error: H5_FAILED(); @@ -2175,8 +2178,8 @@ error: if(file_id != -1) H5Fclose(file_id); - return -1; -} + return FAIL; +} /* end test_filter_noencoder() */ #endif /* H5_HAVE_FILTER_SZIP */ /*------------------------------------------------------------------------- @@ -2242,11 +2245,11 @@ test_get_filter_info(void) if(err >= 0) TEST_ERROR PASSED(); - return 0; + return SUCCEED; error: - return -1; -} + return FAIL; +} /* end test_get_filter_info() */ /*------------------------------------------------------------------------- * Function: test_filters @@ -2517,11 +2520,11 @@ H5_ATTR_UNUSED SKIPPED(); puts(" szip filter not enabled"); #endif /* H5_HAVE_FILTER_SZIP */ - return 0; + return SUCCEED; error: - return -1; -} + return FAIL; +} /* end test_filters() */ /*------------------------------------------------------------------------- @@ -2856,11 +2859,11 @@ test_onebyte_shuffle(hid_t file) PASSED(); - return 0; + return SUCCEED; error: - return -1; -} + return FAIL; +} /* end test_onebyte_shuffle() */ /*------------------------------------------------------------------------- @@ -2974,11 +2977,11 @@ test_nbit_int(hid_t file) PASSED(); - return 0; + return SUCCEED; error: - return -1; -} + return FAIL; +} /* end test_nbit_int() */ /*------------------------------------------------------------------------- @@ -3092,11 +3095,11 @@ test_nbit_float(hid_t file) PASSED(); - return 0; + return SUCCEED; error: - return -1; -} + return FAIL; +} /* end test_nbit_float() */ /*------------------------------------------------------------------------- @@ -3224,11 +3227,11 @@ test_nbit_double(hid_t file) PASSED(); - return 0; + return SUCCEED; error: - return -1; -} + return FAIL; +} /* end test_nbit_double() */ /*------------------------------------------------------------------------- @@ -3351,11 +3354,11 @@ test_nbit_array(hid_t file) PASSED(); - return 0; + return SUCCEED; error: - return -1; -} + return FAIL; +} /* end test_nbit_array() */ /*------------------------------------------------------------------------- @@ -3568,11 +3571,11 @@ test_nbit_compound(hid_t file) PASSED(); - return 0; + return SUCCEED; error: - return -1; -} + return FAIL; +} /* end test_nbit_compound() */ /*------------------------------------------------------------------------- @@ -3913,11 +3916,11 @@ out: PASSED(); - return 0; + return SUCCEED; error: - return -1; -} + return FAIL; +} /* end test_nbit_compound_2() */ /*------------------------------------------------------------------------- @@ -4093,11 +4096,11 @@ test_nbit_compound_3(hid_t file) PASSED(); - return 0; + return SUCCEED; error: - return -1; -} + return FAIL; +} /* end test_nbit_compound_3() */ /*------------------------------------------------------------------------- @@ -4261,10 +4264,10 @@ test_nbit_int_size(hid_t file) PASSED(); - return 0; + return SUCCEED; error: - return -1; -} + return FAIL; +} /* end test_nbit_int_size() */ /*------------------------------------------------------------------------- @@ -4458,10 +4461,10 @@ test_nbit_flt_size(hid_t file) PASSED(); - return 0; + return SUCCEED; error: - return -1; -} + return FAIL; +} /* end test_nbit_flt_size() */ /*------------------------------------------------------------------------- * Function: test_scaleoffset_int @@ -4569,10 +4572,10 @@ test_scaleoffset_int(hid_t file) PASSED(); - return 0; + return SUCCEED; error: - return -1; -} + return FAIL; +} /* end test_scaleoffset_int() */ /*------------------------------------------------------------------------- @@ -4697,10 +4700,10 @@ test_scaleoffset_int_2(hid_t file) PASSED(); - return 0; + return SUCCEED; error: - return -1; -} + return FAIL; +} /* end test_scaleoffset_int_2() */ /*------------------------------------------------------------------------- @@ -4810,10 +4813,10 @@ test_scaleoffset_float(hid_t file) PASSED(); - return 0; + return SUCCEED; error: - return -1; -} + return FAIL; +} /* end test_scaleoffset_float() */ /*------------------------------------------------------------------------- @@ -4939,10 +4942,10 @@ test_scaleoffset_float_2(hid_t file) PASSED(); - return 0; + return SUCCEED; error: - return -1; -} + return FAIL; +} /* end test_scaleoffset_float_2() */ /*------------------------------------------------------------------------- @@ -5052,10 +5055,10 @@ test_scaleoffset_double(hid_t file) PASSED(); - return 0; + return SUCCEED; error: - return -1; -} + return FAIL; +} /* end test_scaleoffset_double() */ /*------------------------------------------------------------------------- @@ -5182,10 +5185,10 @@ test_scaleoffset_double_2(hid_t file) PASSED(); - return 0; + return SUCCEED; error: - return -1; -} + return FAIL; +} /* end test_scaleoffset_double_2() */ /*------------------------------------------------------------------------- @@ -5242,17 +5245,17 @@ test_multiopen (hid_t file) if(H5Pclose(dcpl) < 0) goto error; PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { - H5Dclose(dset1); - H5Dclose(dset2); - H5Sclose(space); - H5Pclose(dcpl); + H5Dclose(dset1); + H5Dclose(dset2); + H5Sclose(space); + H5Pclose(dcpl); } H5E_END_TRY; - return -1; -} + return FAIL; +} /* end test_multiopen() */ /*------------------------------------------------------------------------- @@ -5338,7 +5341,7 @@ test_types(hid_t file) /* Cleanup */ if(H5Gclose(grp) < 0) goto error; PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -5347,8 +5350,8 @@ test_types(hid_t file) H5Sclose(space); H5Dclose(dset); } H5E_END_TRY; - return -1; -} + return FAIL; +} /* end test_types() */ /* This message derives from H5Z */ const H5Z_class2_t H5Z_CAN_APPLY_TEST[1] = {{ @@ -5525,10 +5528,10 @@ test_can_apply(hid_t file) PASSED(); - return 0; + return SUCCEED; error: - return -1; + return FAIL; } /* end test_can_apply() */ /* This message derives from H5Z */ @@ -5684,10 +5687,10 @@ test_can_apply2(hid_t file) PASSED(); - return 0; + return SUCCEED; error: - return -1; + return FAIL; } /* end test_can_apply2() */ @@ -5876,11 +5879,11 @@ file) SKIPPED(); puts(" Szip filter is not enabled."); #endif /* H5_HAVE_FILTER_SZIP */ - return 0; + return SUCCEED; #ifdef H5_HAVE_FILTER_SZIP error: - return -1; + return FAIL; #endif /* H5_HAVE_FILTER_SZIP */ } /* end test_can_apply_szip() */ @@ -6155,10 +6158,10 @@ test_set_local(hid_t fapl) PASSED(); - return 0; + return SUCCEED; error: - return -1; + return FAIL; } /* end test_set_local() */ @@ -6233,7 +6236,7 @@ test_compare_dcpl(hid_t file) PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -6243,7 +6246,7 @@ error: H5Pclose(dcpl1); H5Pclose(dcpl2); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_compare_dcpl() */ @@ -6360,7 +6363,7 @@ test_copy_dcpl(hid_t file, hid_t fapl) PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -6375,7 +6378,7 @@ error: H5Pclose(dcpl1_copy); H5Pclose(dcpl2_copy); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_copy_dcpl() */ @@ -6492,7 +6495,7 @@ test_filter_delete(hid_t file) #else SKIPPED(); #endif - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -6501,7 +6504,7 @@ error: H5Dclose(dsid); H5Sclose(sid); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_filter_delete() */ @@ -6574,7 +6577,7 @@ auxread_fdata(hid_t fid, const char *name) if(buf) HDfree(buf); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -6586,8 +6589,8 @@ error: if(buf) HDfree(buf); } H5E_END_TRY; - return -1; -} + return FAIL; +} /* end auxread_fdata() */ /*------------------------------------------------------------------------- @@ -6647,7 +6650,7 @@ test_filters_endianess(void) PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -6656,7 +6659,7 @@ error: H5Sclose(sid); H5Fclose(fid); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_filters_endianess() */ @@ -6806,7 +6809,7 @@ test_zero_dims(hid_t file) if(H5Sclose(s2) < 0) FAIL_STACK_ERROR PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -6820,7 +6823,7 @@ error: H5Dclose(d2); H5Sclose(s2); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_zero_dims() */ @@ -6999,7 +7002,7 @@ test_missing_chunk(hid_t file) if(H5Dclose(did2) < 0) TEST_ERROR; PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -7012,7 +7015,7 @@ error: H5Sclose(s); H5Sclose(sid2); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_missing_chunk() */ @@ -7370,7 +7373,7 @@ test_random_chunks_real(const char *testname, hbool_t early_alloc, hid_t fapl) if(H5Fclose(file) < 0) TEST_ERROR; PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -7380,7 +7383,7 @@ error: H5Dclose(d); H5Fclose(file); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_random_chunks_real() */ @@ -7627,10 +7630,10 @@ test_deprec(hid_t file) if(H5Pclose(dcpl) < 0) goto error; - return 0; + return SUCCEED; error: - return -1; + return FAIL; } /* end test_deprec() */ #endif /* H5_NO_DEPRECATED_SYMBOLS */ @@ -7734,7 +7737,7 @@ test_huge_chunks(hid_t fapl) if(H5Fclose(fid) < 0) FAIL_STACK_ERROR PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -7743,7 +7746,7 @@ error: H5Sclose(sid); H5Fclose(fid); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_huge_chunks() */ @@ -7938,7 +7941,7 @@ test_chunk_cache(hid_t fapl) if (H5Fclose(fid) < 0) FAIL_STACK_ERROR PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -7951,7 +7954,7 @@ error: H5Sclose(sid); H5Fclose(fid); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_chunk_cache() */ @@ -8225,7 +8228,7 @@ test_big_chunks_bypass_cache(hid_t fapl) HDfree(rdata2); PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -8244,7 +8247,7 @@ error: HDfree(rdata1); if(rdata2) HDfree(rdata2); - return -1; + return FAIL; } /* end test_big_chunks_bypass_cache() */ @@ -8580,7 +8583,7 @@ test_chunk_fast(const char *env_h5_driver, hid_t fapl) if(H5Pclose(my_fapl) < 0) FAIL_STACK_ERROR PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -8591,7 +8594,7 @@ error: H5Fclose(fid); H5Pclose(my_fapl); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_chunk_fast() */ @@ -8704,7 +8707,7 @@ test_reopen_chunk_fast(hid_t fapl) } /* end for */ PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -8714,7 +8717,7 @@ error: H5Sclose(scalar_sid); H5Fclose(fid); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_reopen_chunk_fast() */ @@ -8813,7 +8816,7 @@ test_chunk_fast_bug1(hid_t fapl) if(H5Sclose(sid) < 0) FAIL_STACK_ERROR PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -8822,7 +8825,7 @@ error: H5Sclose(sid); H5Fclose(fid); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_chunk_fast_bug1() */ /* This message derives from H5Z */ @@ -9268,7 +9271,7 @@ test_chunk_expand(hid_t fapl) PASSED(); } /* end else */ - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -9281,7 +9284,7 @@ error: H5Sclose(scalar_sid); H5Fclose(fid); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_chunk_expand() */ @@ -9686,7 +9689,7 @@ test_fixed_array(hid_t fapl) HDfree(rbuf_big); PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -9700,7 +9703,7 @@ error: HDfree(wbuf_big); if(rbuf_big) HDfree(rbuf_big); - return -1; + return FAIL; } /* end test_fixed_array() */ @@ -9944,7 +9947,7 @@ test_single_chunk(hid_t fapl) HDfree(t_rbuf); PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -9964,7 +9967,7 @@ error: HDfree(t_wbuf); if(t_rbuf) HDfree(t_rbuf); - return -1; + return FAIL; } /* end test_single_chunk() */ @@ -10030,15 +10033,15 @@ test_idx_compatible(void) } PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { H5Dclose(did); H5Fclose(fid); } H5E_END_TRY; - return -1; -} /* test_idx_compatible */ + return FAIL; +} /* end test_idx_compatible() */ /*------------------------------------------------------------------------- * @@ -10168,7 +10171,7 @@ test_unfiltered_edge_chunks(hid_t fapl) TEST_ERROR PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -10177,8 +10180,8 @@ error: H5Sclose(sid); H5Fclose(fid); } H5E_END_TRY; - return -1; -} /* test_unfiltered_edge_chunks */ + return FAIL; +} /* end test_unfiltered_edge_chunks() */ /*------------------------------------------------------------------------- @@ -10282,7 +10285,7 @@ test_large_chunk_shrink(hid_t fapl) PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -10292,7 +10295,7 @@ error: H5Sclose(scalar_sid); H5Fclose(fid); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_large_chunk_shrink() */ @@ -10376,7 +10379,7 @@ test_zero_dim_dset(hid_t fapl) PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -10385,7 +10388,7 @@ error: H5Sclose(sid); H5Fclose(fid); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_zero_dim_dset() */ @@ -10426,7 +10429,7 @@ test_swmr_non_latest(const char *env_h5_driver, hid_t fapl) if(!H5FD__supports_swmr_test(env_h5_driver)) { SKIPPED(); HDputs(" Test skipped due to VFD not supporting SWMR I/O."); - return 0; + return SUCCEED; } /* Check if we are using the latest version of the format */ @@ -10625,7 +10628,7 @@ test_swmr_non_latest(const char *env_h5_driver, hid_t fapl) PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -10635,7 +10638,7 @@ error: H5Gclose(gid); H5Fclose(fid); } H5E_END_TRY; - return -1; + return FAIL; } /* test_swmr_non_latest() */ @@ -10676,7 +10679,7 @@ test_earray_hdr_fd(const char *env_h5_driver, hid_t fapl) if(!H5FD__supports_swmr_test(env_h5_driver)) { SKIPPED(); HDputs(" Test skipped due to VFD not supporting SWMR I/O."); - return 0; + return SUCCEED; } if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) @@ -10743,7 +10746,7 @@ test_earray_hdr_fd(const char *env_h5_driver, hid_t fapl) PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -10755,7 +10758,7 @@ error: H5Sclose(sid); H5Sclose(msid); } H5E_END_TRY; - return -1; + return FAIL; } /* test_earray_hdr_fd() */ @@ -10796,7 +10799,7 @@ test_farray_hdr_fd(const char *env_h5_driver, hid_t fapl) if(!H5FD__supports_swmr_test(env_h5_driver)) { SKIPPED(); HDputs(" Test skipped due to VFD not supporting SWMR I/O."); - return 0; + return SUCCEED; } if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) @@ -10863,7 +10866,7 @@ test_farray_hdr_fd(const char *env_h5_driver, hid_t fapl) PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -10875,8 +10878,8 @@ error: H5Sclose(sid); H5Sclose(msid); } H5E_END_TRY; - return -1; -} /* test_farray_hdr_fd() */ + return FAIL; +} /* end test_farray_hdr_fd() */ /*------------------------------------------------------------------------- @@ -10916,7 +10919,7 @@ test_bt2_hdr_fd(const char *env_h5_driver, hid_t fapl) if(!H5FD__supports_swmr_test(env_h5_driver)) { SKIPPED(); HDputs(" Test skipped due to VFD not supporting SWMR I/O."); - return 0; + return SUCCEED; } if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) @@ -10983,7 +10986,7 @@ test_bt2_hdr_fd(const char *env_h5_driver, hid_t fapl) PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -10995,8 +10998,8 @@ error: H5Sclose(sid); H5Sclose(msid); } H5E_END_TRY; - return -1; -} /* test_bt2_hdr_fd() */ + return FAIL; +} /* end test_bt2_hdr_fd() */ /*------------------------------------------------------------------------- @@ -11379,7 +11382,7 @@ test_storage_size(hid_t fapl) PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -11389,7 +11392,7 @@ error: H5Sclose(sid); H5Fclose(fid); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_storage_size() */ @@ -11470,7 +11473,7 @@ test_power2up(hid_t fapl) PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -11480,7 +11483,7 @@ error: H5Pclose(dcpl); H5Fclose(fid); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_power2up() */ @@ -11792,13 +11795,13 @@ test_scatter(void) PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { H5Sclose(sid); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_scatter() */ @@ -11860,7 +11863,7 @@ gather_cb(const void *dst_buf, size_t dst_buf_bytes_used, error: return FAIL; -} +} /* end gather_cb() */ static herr_t test_gather(void) @@ -12154,13 +12157,13 @@ test_gather(void) PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { H5Sclose(sid); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_gather() */ @@ -12194,7 +12197,7 @@ scatter_error_cb_fail(void **src_buf/*out*/, size_t *src_buf_bytes_used/*out*/, *src_buf_bytes_used = nelmts * sizeof(scatter_info->src_buf[0]); return FAIL; -} +} /* end scatter_error_cb_fail() */ static herr_t scatter_error_cb_null(void **src_buf/*out*/, size_t *src_buf_bytes_used/*out*/, @@ -12212,7 +12215,7 @@ scatter_error_cb_null(void **src_buf/*out*/, size_t *src_buf_bytes_used/*out*/, *src_buf_bytes_used = nelmts * sizeof(scatter_info->src_buf[0]); return SUCCEED; -} +} /* end scatter_error_cb_null() */ static herr_t scatter_error_cb_unalign(void **src_buf/*out*/, size_t *src_buf_bytes_used/*out*/, @@ -12223,7 +12226,7 @@ scatter_error_cb_unalign(void **src_buf/*out*/, size_t *src_buf_bytes_used/*out* *src_buf_bytes_used = *(size_t *)_src_buf_bytes_used; return SUCCEED; -} +} /* endscatter_error_cb_unalign() */ static herr_t test_scatter_error(void) @@ -12357,13 +12360,13 @@ test_scatter_error(void) PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { H5Sclose(sid); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_scatter_error() */ @@ -12386,7 +12389,7 @@ gather_error_cb_fail(const void H5_ATTR_UNUSED *dst_buf, size_t H5_ATTR_UNUSED dst_buf_bytes_used, void H5_ATTR_UNUSED *op_data) { return FAIL; -} +} /* end gather_error_cb_fail() */ static herr_t test_gather_error(void) @@ -12496,13 +12499,13 @@ test_gather_error(void) PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { H5Sclose(sid); } H5E_END_TRY; - return -1; + return FAIL; } /* end test_gather_error() */ /*------------------------------------------------------------------------- @@ -12599,8 +12602,8 @@ static herr_t dls_01_read_stuff( hid_t fid ); static herr_t dls_01_main( void ); static herr_t -dls_01_setup_file( hid_t fid ) { - +dls_01_setup_file( hid_t fid ) +{ int status = 0; hid_t sid = 0, did = 0, tid = 0, dcpl = 0; int ndims = 1; @@ -12638,17 +12641,15 @@ dls_01_setup_file( hid_t fid ) { status = H5Sclose( sid ); if ( status != 0 ) TEST_ERROR - return 0; + return SUCCEED; error: - - return -1; - -} /* dls_01_setup_file */ + return FAIL; +} /* end dls_01_setup_file() */ static herr_t -dls_01_write_data( hid_t fid, char* buffer ) { - +dls_01_write_data( hid_t fid, char* buffer ) +{ int status = 0; hid_t did = 0, tid = 0; hsize_t extent[1] = {4}; @@ -12674,17 +12675,15 @@ dls_01_write_data( hid_t fid, char* buffer ) { status = H5Dclose( did ); if ( status != 0 ) TEST_ERROR - return 0; + return SUCCEED; error: - - return -1; - -} /* dls_01_write_data */ + return FAIL; +} /* end dls_01_write_data() */ static herr_t -dls_01_read_stuff( hid_t fid ) { - +dls_01_read_stuff( hid_t fid ) +{ int status = 0; hid_t did = 0; H5O_info_t info; @@ -12698,17 +12697,15 @@ dls_01_read_stuff( hid_t fid ) { status = H5Dclose( did ); if ( status != 0 ) TEST_ERROR - return 0; + return SUCCEED; error: - - return -1; - -} /* dls_01_read_stuff() */ + return FAIL; +} /* end dls_01_read_stuff() */ static herr_t -dls_01_main( void ) { - +dls_01_main( void ) +{ char filename[512]; int status = 0; hid_t fapl = 0, fid = 0; @@ -12765,15 +12762,12 @@ dls_01_main( void ) { PASSED(); - return 0; + return SUCCEED; error: - if ( buffer ) HDfree(buffer); - - return -1; - -} /* dls_01_main() */ + return FAIL; +} /* end dls_01_main() */ /*------------------------------------------------------------------------- * Function: test_compact_open_close_dirty @@ -12881,7 +12875,7 @@ test_compact_open_close_dirty(hid_t fapl) TEST_ERROR PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -12890,8 +12884,8 @@ error: H5Dclose(did); H5Fclose(fid); } H5E_END_TRY; - return -1; -} /* test_compact_open_close_dirty() */ + return FAIL; +} /* end test_compact_open_close_dirty() */ /*------------------------------------------------------------------------- @@ -13030,7 +13024,7 @@ test_versionbounds(void) TEST_ERROR dcpl = -1; PASSED(); - return 0; + return SUCCEED; error: H5E_BEGIN_TRY { @@ -13043,8 +13037,126 @@ test_versionbounds(void) H5Fclose(srcfile); H5Fclose(vfile); } H5E_END_TRY; - return -1; -} /* test_versionbounds() */ + return FAIL; +} /* end test_versionbounds() */ + + +/*----------------------------------------------------------------------------- + * Function: test_object_header_minimization_dcpl + * + * Purpose: Test the "datset object header minimization" property as part of + * the DCPL. + * + * Return: Success/pass: 0 + * Failure/error: -1 + * + * Programmer: Jacob Smith + * 2018 August 15 + * + * Changes: None. + *----------------------------------------------------------------------------- + */ +static herr_t +test_object_header_minimization_dcpl(void) +{ + hid_t dcpl_id = -1; + hid_t file_id = -1; + char filename[FILENAME_BUF_SIZE] = ""; + hbool_t minimize = FALSE; + herr_t ret; + + TESTING("dcpl flags to minimize dataset object header"); + + /*********/ + /* SETUP */ + /*********/ + + if(NULL == h5_fixname(OHMIN_FILENAME_A, H5P_DEFAULT, filename, sizeof(filename))) + FAIL_PUTS_ERROR("unable to prepare filename") + + file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + if (0 > file_id) + FAIL_PUTS_ERROR("unable to create test file\n"); + + dcpl_id = H5Pcreate(H5P_DATASET_CREATE); + if (0 > dcpl_id) + FAIL_PUTS_ERROR("unable to create DCPL\n"); + + /*********/ + /* TESTS */ + /*********/ + + /* default value (not set explicitly) + */ + if (H5Pget_dset_no_attrs_hint(dcpl_id, &minimize) == FAIL) + FAIL_PUTS_ERROR("unable to get minimize value\n"); + if (FALSE != minimize) + FAIL_PUTS_ERROR("Expected FALSE default but was not!\n"); + + /* FALSE-set value + */ + if (H5Pset_dset_no_attrs_hint(dcpl_id, FALSE) == FAIL) + FAIL_PUTS_ERROR("unable to set minimize value to FALSE\n"); + if (H5Pget_dset_no_attrs_hint(dcpl_id, &minimize) == FAIL) + FAIL_PUTS_ERROR("unable to get minimize value\n"); + if (FALSE != minimize) + FAIL_PUTS_ERROR("Expected FALSE default but was not!\n"); + + /* TRUE-set value + */ + if (H5Pset_dset_no_attrs_hint(dcpl_id, TRUE) == FAIL) + FAIL_PUTS_ERROR("unable to set minimize value to TRUE\n"); + if (H5Pget_dset_no_attrs_hint(dcpl_id, &minimize) == FAIL) + FAIL_PUTS_ERROR("unable to get minimize value\n"); + if (TRUE != minimize) + FAIL_PUTS_ERROR("Expected TRUE default but was not!\n"); + + /* error cases + */ + H5E_BEGIN_TRY { + ret = H5Pget_dset_no_attrs_hint(-1, &minimize); + } H5E_END_TRY; + if (ret == SUCCEED) + FAIL_PUTS_ERROR("Invalid DCPL ID should fail\n"); + + H5E_BEGIN_TRY { + ret = H5Pset_dset_no_attrs_hint(-1, FALSE); + } H5E_END_TRY; + if (ret == SUCCEED) + FAIL_PUTS_ERROR("Invalid DCPL ID should fail\n"); + + H5E_BEGIN_TRY { + ret = H5Pset_dset_no_attrs_hint(-1, TRUE); + } H5E_END_TRY; + if (ret == SUCCEED) + FAIL_PUTS_ERROR("Invalid DCPL ID should fail\n"); + + H5E_BEGIN_TRY { + ret = H5Pget_dset_no_attrs_hint(dcpl_id, NULL); + } H5E_END_TRY; + if (ret == SUCCEED) + FAIL_PUTS_ERROR("NULL out pointer should fail\n"); + + /************/ + /* TEARDOWN */ + /************/ + + if (H5Fclose(file_id) == FAIL) + FAIL_PUTS_ERROR("can't close FILE"); + + if (H5Pclose(dcpl_id) == FAIL) + FAIL_PUTS_ERROR("unable to close DCPL\n"); + + PASSED(); + return SUCCEED; + +error: + H5E_BEGIN_TRY { + H5Pclose(dcpl_id); + H5Fclose(file_id); + } H5E_END_TRY; + return FAIL; +} /* end test_object_header_minimization_dcpl() */ /*------------------------------------------------------------------------- @@ -13068,6 +13180,7 @@ main(void) hid_t fcpl = -1, fcpl2 = -1; unsigned new_format; unsigned paged; + unsigned minimized_ohdr; int mdc_nelmts; size_t rdcc_nelmts; size_t rdcc_nbytes; @@ -13118,10 +13231,12 @@ main(void) /* Test with paged aggregation enabled or not */ for(paged = FALSE; paged <= TRUE; paged++) { - /* Temporary: skip testing for multi/split drivers: - fail file create when persisting free-space or using paged aggregation strategy */ - if(!contig_addr_vfd && paged) - continue; + /* Temporary: skip testing for multi/split drivers: + fail file create when persisting free-space or using paged aggregation strategy */ + if(!contig_addr_vfd && paged) + continue; + + for (minimized_ohdr = FALSE; minimized_ohdr <= TRUE; minimized_ohdr++) { /* Test with old & new format groups */ for(new_format = FALSE; new_format <= TRUE; new_format++) { @@ -13153,6 +13268,12 @@ main(void) if((file = H5Fcreate(filename, H5F_ACC_TRUNC, my_fcpl, my_fapl)) < 0) goto error; + if (TRUE == minimized_ohdr) { + if (0 > H5Fset_dset_no_attrs_hint(file, TRUE)) + goto error; + puts("(minimized dataset object headers with file setting)"); + } + /* Cause the library to emit initial messages */ if((grp = H5Gcreate2(file, "emit diagnostics", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; @@ -13230,6 +13351,7 @@ main(void) if(H5Fclose(file) < 0) goto error; } /* end for new_format */ + } /* for minimized dset object headers */ } /* end for paged */ /* Close property lists */ @@ -13246,6 +13368,8 @@ main(void) /* Tests version bounds using its own file */ nerrors += (test_versionbounds() < 0 ? 1 : 0); + nerrors += (test_object_header_minimization_dcpl() < 0 ? 1 : 0); + /* Run misc tests */ nerrors += dls_01_main(); @@ -13261,12 +13385,12 @@ main(void) #endif /* H5_HAVE_FILTER_SZIP */ h5_cleanup(FILENAME, fapl); - return 0; + return EXIT_SUCCESS; error: nerrors = MAX(1, nerrors); printf("***** %d DATASET TEST%s FAILED! *****\n", nerrors, 1 == nerrors ? "" : "S"); - return 1; -} + return EXIT_FAILURE; +} /* end main() */ |