mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-02-23 16:20:57 +08:00
Add "compact" storage test to relative header size comparisons.
This commit is contained in:
parent
7541ed1fc7
commit
2b4e540fad
136
test/ohdr.c
136
test/ohdr.c
@ -1035,17 +1035,20 @@ error :
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Compare header sizes against when headers have been minimized.
|
* Compare header sizes against when headers have been minimized.
|
||||||
|
* Repeats tests with headers "compact" and normal.
|
||||||
*/
|
*/
|
||||||
static herr_t
|
static herr_t
|
||||||
test_minimized_oh_size_comparisons(void)
|
test_minimized_oh_size_comparisons(void)
|
||||||
{
|
{
|
||||||
hsize_t array_10[1] = {10}; /* dataspace extents */
|
hsize_t array_10[1] = {10}; /* dataspace extents */
|
||||||
|
unsigned compact = 0;
|
||||||
|
|
||||||
/* IDs that are file-agnostic */
|
/* IDs that are file-agnostic */
|
||||||
hid_t dspace_id = -1;
|
hid_t dspace_id = -1;
|
||||||
hid_t int_type_id = -1;
|
hid_t int_type_id = -1;
|
||||||
hid_t dcpl_minimize = -1;
|
hid_t dcpl_minimize = -1;
|
||||||
hid_t dcpl_dontmin = -1;
|
hid_t dcpl_dontmin = -1;
|
||||||
|
hid_t dcpl_default = -1;
|
||||||
|
|
||||||
/* IDs for non-minimzed file open */
|
/* IDs for non-minimzed file open */
|
||||||
hid_t file_f_id = -1; /* lower 'f' for standard file setting */
|
hid_t file_f_id = -1; /* lower 'f' for standard file setting */
|
||||||
@ -1076,91 +1079,108 @@ test_minimized_oh_size_comparisons(void)
|
|||||||
if(h5_fixname(FILENAME[2], H5P_DEFAULT, filename_b, sizeof(filename_b)) == NULL)
|
if(h5_fixname(FILENAME[2], H5P_DEFAULT, filename_b, sizeof(filename_b)) == NULL)
|
||||||
TEST_ERROR
|
TEST_ERROR
|
||||||
|
|
||||||
dcpl_minimize = H5Pcreate(H5P_DATASET_CREATE);
|
for (compact = 0; compact < 2; compact++) { /* 0 or 1 */
|
||||||
if(dcpl_minimize < 0) TEST_ERROR
|
dcpl_default = H5Pcreate(H5P_DATASET_CREATE);
|
||||||
|
if(dcpl_default < 0) TEST_ERROR
|
||||||
|
|
||||||
|
dcpl_minimize = H5Pcreate(H5P_DATASET_CREATE);
|
||||||
|
if(dcpl_minimize < 0) TEST_ERROR
|
||||||
|
ret = H5Pset_dset_no_attrs_hint(dcpl_minimize, TRUE);
|
||||||
|
if(ret < 0) TEST_ERROR
|
||||||
|
|
||||||
ret = H5Pset_dset_no_attrs_hint(dcpl_minimize, TRUE);
|
dcpl_dontmin = H5Pcreate(H5P_DATASET_CREATE);
|
||||||
if(ret < 0) TEST_ERROR
|
if(dcpl_dontmin < 0) TEST_ERROR
|
||||||
|
ret = H5Pset_dset_no_attrs_hint(dcpl_dontmin, FALSE);
|
||||||
|
if(ret < 0) TEST_ERROR
|
||||||
|
|
||||||
dcpl_dontmin = H5Pcreate(H5P_DATASET_CREATE);
|
if(compact) {
|
||||||
if(dcpl_dontmin < 0) TEST_ERROR
|
HDprintf("...compact ");
|
||||||
|
ret = H5Pset_layout(dcpl_default, H5D_COMPACT);
|
||||||
|
if(ret < 0) TEST_ERROR
|
||||||
|
ret = H5Pset_layout(dcpl_minimize, H5D_COMPACT);
|
||||||
|
if(ret < 0) TEST_ERROR
|
||||||
|
ret = H5Pset_layout(dcpl_dontmin, H5D_COMPACT);
|
||||||
|
if(ret < 0) TEST_ERROR
|
||||||
|
} else
|
||||||
|
HDprintf("...not compact ");
|
||||||
|
|
||||||
ret = H5Pset_dset_no_attrs_hint(dcpl_dontmin, FALSE);
|
dspace_id = H5Screate_simple(1, array_10, NULL);
|
||||||
if(ret < 0) TEST_ERROR
|
if(dspace_id < 0) TEST_ERROR
|
||||||
|
|
||||||
dspace_id = H5Screate_simple(1, array_10, NULL);
|
int_type_id = H5Tcopy(H5T_NATIVE_INT);
|
||||||
if(dspace_id < 0) TEST_ERROR
|
if(int_type_id < 0) TEST_ERROR
|
||||||
|
|
||||||
int_type_id = H5Tcopy(H5T_NATIVE_INT);
|
file_f_id = H5Fcreate(filename_a, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
|
||||||
if(int_type_id < 0) TEST_ERROR
|
if(file_f_id < 0) TEST_ERROR
|
||||||
|
|
||||||
file_f_id = H5Fcreate(filename_a, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
|
dset_f_x_id = H5Dcreate(file_f_id, "default", int_type_id, dspace_id, H5P_DEFAULT, dcpl_default, H5P_DEFAULT);
|
||||||
if(file_f_id < 0) TEST_ERROR
|
if(dset_f_x_id < 0) TEST_ERROR
|
||||||
|
|
||||||
dset_f_x_id = H5Dcreate(file_f_id, "default", int_type_id, dspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
|
dset_f_N_id = H5Dcreate(file_f_id, "dsetNOT", int_type_id, dspace_id, H5P_DEFAULT, dcpl_dontmin, H5P_DEFAULT);
|
||||||
if(dset_f_x_id < 0) TEST_ERROR
|
if(dset_f_N_id < 0) TEST_ERROR
|
||||||
|
|
||||||
dset_f_N_id = H5Dcreate(file_f_id, "dsetNOT", int_type_id, dspace_id, H5P_DEFAULT, dcpl_dontmin, H5P_DEFAULT);
|
dset_f_Y_id = H5Dcreate(file_f_id, "dsetMIN", int_type_id, dspace_id, H5P_DEFAULT, dcpl_minimize, H5P_DEFAULT);
|
||||||
if(dset_f_N_id < 0) TEST_ERROR
|
if(dset_f_x_id < 0) TEST_ERROR
|
||||||
|
|
||||||
dset_f_Y_id = H5Dcreate(file_f_id, "dsetMIN", int_type_id, dspace_id, H5P_DEFAULT, dcpl_minimize, H5P_DEFAULT);
|
file_F_id = H5Fcreate(filename_b, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
|
||||||
if(dset_f_x_id < 0) TEST_ERROR
|
if(file_F_id < 0) TEST_ERROR
|
||||||
|
ret = H5Fset_dset_no_attrs_hint(file_F_id, TRUE);
|
||||||
|
if(ret < 0) TEST_ERROR
|
||||||
|
|
||||||
file_F_id = H5Fcreate(filename_b, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
|
dset_F_x_id = H5Dcreate(file_F_id, "default", int_type_id, dspace_id, H5P_DEFAULT, dcpl_default, H5P_DEFAULT);
|
||||||
if(file_F_id < 0) TEST_ERROR
|
if(dset_F_x_id < 0) TEST_ERROR
|
||||||
ret = H5Fset_dset_no_attrs_hint(file_F_id, TRUE);
|
|
||||||
if(ret < 0) TEST_ERROR
|
|
||||||
|
|
||||||
dset_F_x_id = H5Dcreate(file_F_id, "default", int_type_id, dspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
|
dset_F_N_id = H5Dcreate(file_F_id, "dsetNOT", int_type_id, dspace_id, H5P_DEFAULT, dcpl_dontmin, H5P_DEFAULT);
|
||||||
if(dset_F_x_id < 0) TEST_ERROR
|
if(dset_F_N_id < 0) TEST_ERROR
|
||||||
|
|
||||||
dset_F_N_id = H5Dcreate(file_F_id, "dsetNOT", int_type_id, dspace_id, H5P_DEFAULT, dcpl_dontmin, H5P_DEFAULT);
|
dset_F_Y_id = H5Dcreate(file_F_id, "dsetMIN", int_type_id, dspace_id, H5P_DEFAULT, dcpl_minimize, H5P_DEFAULT);
|
||||||
if(dset_F_N_id < 0) TEST_ERROR
|
if(dset_F_Y_id < 0) TEST_ERROR
|
||||||
|
|
||||||
dset_F_Y_id = H5Dcreate(file_F_id, "dsetMIN", int_type_id, dspace_id, H5P_DEFAULT, dcpl_minimize, H5P_DEFAULT);
|
/*********
|
||||||
if(dset_F_Y_id < 0) TEST_ERROR
|
* TESTS *
|
||||||
|
*********/
|
||||||
|
|
||||||
/*********
|
if(oh_compare(dset_f_x_id, dset_f_x_id) != EQ) TEST_ERROR /* identity */
|
||||||
* TESTS *
|
|
||||||
*********/
|
|
||||||
|
|
||||||
if(oh_compare(dset_f_x_id, dset_f_x_id) != EQ) TEST_ERROR /* identity */
|
if(oh_compare(dset_f_x_id, dset_f_N_id) != EQ) TEST_ERROR
|
||||||
|
if(oh_compare(dset_f_x_id, dset_f_Y_id) != GT) TEST_ERROR
|
||||||
|
if(oh_compare(dset_f_N_id, dset_f_Y_id) != GT) TEST_ERROR
|
||||||
|
|
||||||
if(oh_compare(dset_f_x_id, dset_f_N_id) != EQ) TEST_ERROR
|
if(oh_compare(dset_F_x_id, dset_F_N_id) != EQ) TEST_ERROR
|
||||||
if(oh_compare(dset_f_x_id, dset_f_Y_id) != GT) TEST_ERROR
|
if(oh_compare(dset_F_x_id, dset_F_Y_id) != EQ) TEST_ERROR
|
||||||
if(oh_compare(dset_f_N_id, dset_f_Y_id) != GT) TEST_ERROR
|
if(oh_compare(dset_F_N_id, dset_F_Y_id) != EQ) TEST_ERROR
|
||||||
|
|
||||||
if(oh_compare(dset_F_x_id, dset_F_N_id) != EQ) TEST_ERROR
|
if(oh_compare(dset_F_x_id, dset_f_Y_id) != EQ) TEST_ERROR
|
||||||
if(oh_compare(dset_F_x_id, dset_F_Y_id) != EQ) TEST_ERROR
|
if(oh_compare(dset_F_x_id, dset_f_x_id) != LT) TEST_ERROR
|
||||||
if(oh_compare(dset_F_N_id, dset_F_Y_id) != EQ) TEST_ERROR
|
|
||||||
|
|
||||||
if(oh_compare(dset_F_x_id, dset_f_Y_id) != EQ) TEST_ERROR
|
/************
|
||||||
if(oh_compare(dset_F_x_id, dset_f_x_id) != LT) TEST_ERROR
|
* TEARDOWN *
|
||||||
|
************/
|
||||||
|
|
||||||
/************
|
if(H5Sclose(dspace_id) < 0) TEST_ERROR
|
||||||
* TEARDOWN *
|
if(H5Tclose(int_type_id) < 0) TEST_ERROR
|
||||||
************/
|
if(H5Pclose(dcpl_default) < 0) TEST_ERROR
|
||||||
|
if(H5Pclose(dcpl_minimize) < 0) TEST_ERROR
|
||||||
|
if(H5Pclose(dcpl_dontmin) < 0) TEST_ERROR
|
||||||
|
|
||||||
if(H5Sclose(dspace_id) < 0) TEST_ERROR
|
if(H5Fclose(file_f_id) < 0) TEST_ERROR
|
||||||
if(H5Tclose(int_type_id) < 0) TEST_ERROR
|
if(H5Dclose(dset_f_x_id) < 0) TEST_ERROR
|
||||||
if(H5Pclose(dcpl_minimize) < 0) TEST_ERROR
|
if(H5Dclose(dset_f_N_id) < 0) TEST_ERROR
|
||||||
if(H5Pclose(dcpl_dontmin) < 0) TEST_ERROR
|
if(H5Dclose(dset_f_Y_id) < 0) TEST_ERROR
|
||||||
|
|
||||||
if(H5Fclose(file_f_id) < 0) TEST_ERROR
|
if(H5Fclose(file_F_id) < 0) TEST_ERROR
|
||||||
if(H5Dclose(dset_f_x_id) < 0) TEST_ERROR
|
if(H5Dclose(dset_F_x_id) < 0) TEST_ERROR
|
||||||
if(H5Dclose(dset_f_N_id) < 0) TEST_ERROR
|
if(H5Dclose(dset_F_N_id) < 0) TEST_ERROR
|
||||||
if(H5Dclose(dset_f_Y_id) < 0) TEST_ERROR
|
if(H5Dclose(dset_F_Y_id) < 0) TEST_ERROR
|
||||||
|
|
||||||
if(H5Fclose(file_F_id) < 0) TEST_ERROR
|
} /* compact and non-compact */
|
||||||
if(H5Dclose(dset_F_x_id) < 0) TEST_ERROR
|
|
||||||
if(H5Dclose(dset_F_N_id) < 0) TEST_ERROR
|
|
||||||
if(H5Dclose(dset_F_Y_id) < 0) TEST_ERROR
|
|
||||||
|
|
||||||
PASSED()
|
PASSED()
|
||||||
return SUCCEED;
|
return SUCCEED;
|
||||||
|
|
||||||
error :
|
error :
|
||||||
H5E_BEGIN_TRY {
|
H5E_BEGIN_TRY {
|
||||||
|
(void)H5Pclose(dcpl_default);
|
||||||
(void)H5Pclose(dcpl_minimize);
|
(void)H5Pclose(dcpl_minimize);
|
||||||
(void)H5Pclose(dcpl_dontmin);
|
(void)H5Pclose(dcpl_dontmin);
|
||||||
(void)H5Sclose(dspace_id);
|
(void)H5Sclose(dspace_id);
|
||||||
|
Loading…
Reference in New Issue
Block a user