diff options
author | Allen Byrne <byrn@hdfgroup.org> | 2020-10-01 15:29:53 (GMT) |
---|---|---|
committer | Allen Byrne <byrn@hdfgroup.org> | 2020-10-01 15:29:53 (GMT) |
commit | ec8ad09125032c9c232878d02e90aa86df162841 (patch) | |
tree | 5d63105d3a0db7d5bbee41c5b74b097649a2115e /test/flush1.c | |
parent | 453238e90e1574ef1c15e3c79f7fb3d77920e77c (diff) | |
download | hdf5-ec8ad09125032c9c232878d02e90aa86df162841.zip hdf5-ec8ad09125032c9c232878d02e90aa86df162841.tar.gz hdf5-ec8ad09125032c9c232878d02e90aa86df162841.tar.bz2 |
Source formatted
Diffstat (limited to 'test/flush1.c')
-rw-r--r-- | test/flush1.c | 183 |
1 files changed, 87 insertions, 96 deletions
diff --git a/test/flush1.c b/test/flush1.c index e01f4a5..dd5c7b9 100644 --- a/test/flush1.c +++ b/test/flush1.c @@ -24,36 +24,27 @@ #include "h5test.h" /* This file needs to access the file driver testing code */ -#define H5FD_FRIEND /*suppress error about including H5FDpkg */ +#define H5FD_FRIEND /*suppress error about including H5FDpkg */ #define H5FD_TESTING -#include "H5FDpkg.h" /* File drivers */ - -const char *FILENAME[] = { - "flush", - "flush-swmr", - "noflush", - "noflush-swmr", - "flush_extend", - "flush_extend-swmr", - "noflush_extend", - "noflush_extend-swmr", - NULL -}; +#include "H5FDpkg.h" /* File drivers */ + +const char *FILENAME[] = {"flush", "flush-swmr", "noflush", + "noflush-swmr", "flush_extend", "flush_extend-swmr", + "noflush_extend", "noflush_extend-swmr", NULL}; /* Number and size of dataset dims, chunk size, etc. */ -#define NDIMS 1 -#define NELEMENTS 10000 -#define CHUNK_SIZE 25 -#define FIRST_DSET_NAME "dset1" -#define SECOND_DSET_NAME "dset2" +#define NDIMS 1 +#define NELEMENTS 10000 +#define CHUNK_SIZE 25 +#define FIRST_DSET_NAME "dset1" +#define SECOND_DSET_NAME "dset2" /* Number of sub-groups created in the containing group */ -#define NGROUPS 100 +#define NGROUPS 100 -static hid_t create_file(const char *filename, hid_t fapl_id, hbool_t swmr); +static hid_t create_file(const char *filename, hid_t fapl_id, hbool_t swmr); static herr_t add_dset_to_file(hid_t fid, const char *dset_name); - /*------------------------------------------------------------------------- * Function: create_file * @@ -70,49 +61,50 @@ static herr_t add_dset_to_file(hid_t fid, const char *dset_name); static hid_t create_file(const char *filename, hid_t fapl_id, hbool_t swmr) { - hid_t fid = -1; /* file ID */ - hid_t top_gid = -1; /* containing group ID */ - hid_t gid = -1; /* subgroup ID */ - char group_name[32]; /* group name */ - unsigned flags; /* file open flags */ - int i; /* iterator */ + hid_t fid = -1; /* file ID */ + hid_t top_gid = -1; /* containing group ID */ + hid_t gid = -1; /* subgroup ID */ + char group_name[32]; /* group name */ + unsigned flags; /* file open flags */ + int i; /* iterator */ flags = H5F_ACC_TRUNC | (swmr ? H5F_ACC_SWMR_WRITE : 0); - if((fid = H5Fcreate(filename, flags, H5P_DEFAULT, fapl_id)) < 0) + if ((fid = H5Fcreate(filename, flags, H5P_DEFAULT, fapl_id)) < 0) STACK_ERROR /* Create a chunked dataset */ - if(add_dset_to_file(fid, FIRST_DSET_NAME) < 0) + if (add_dset_to_file(fid, FIRST_DSET_NAME) < 0) TEST_ERROR /* Create some groups */ - if((top_gid = H5Gcreate2(fid, "top_group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((top_gid = H5Gcreate2(fid, "top_group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) STACK_ERROR - for(i = 0; i < NGROUPS; i++) { + for (i = 0; i < NGROUPS; i++) { HDsprintf(group_name, "group%02d", i); - if((gid = H5Gcreate2(top_gid, group_name, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(top_gid, group_name, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) STACK_ERROR - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) STACK_ERROR } /* end for */ - if(H5Gclose(top_gid) < 0) + if (H5Gclose(top_gid) < 0) STACK_ERROR return fid; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Fclose(fid); H5Gclose(gid); H5Gclose(top_gid); - } H5E_END_TRY; + } + H5E_END_TRY; return -1; } /* end create_file() */ - /*------------------------------------------------------------------------- * Function: add_dset_to_file * @@ -128,37 +120,37 @@ error: static herr_t add_dset_to_file(hid_t fid, const char *dset_name) { - hid_t dcpl_id = -1; /* dataset creation plist ID */ - hid_t sid = -1; /* dataspace ID */ - hid_t did = -1; /* dataset ID */ - int *data = NULL; /* data buffer */ - hsize_t dims[1] = {NELEMENTS}; /* size of dataset */ - hsize_t chunk_dims[1] = {CHUNK_SIZE}; /* chunk size */ - int i; /* iterator */ + hid_t dcpl_id = -1; /* dataset creation plist ID */ + hid_t sid = -1; /* dataspace ID */ + hid_t did = -1; /* dataset ID */ + int * data = NULL; /* data buffer */ + hsize_t dims[1] = {NELEMENTS}; /* size of dataset */ + hsize_t chunk_dims[1] = {CHUNK_SIZE}; /* chunk size */ + int i; /* iterator */ /* Create a chunked dataset */ - if((dcpl_id = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((dcpl_id = H5Pcreate(H5P_DATASET_CREATE)) < 0) STACK_ERROR - if(H5Pset_chunk(dcpl_id, NDIMS, chunk_dims) < 0) + if (H5Pset_chunk(dcpl_id, NDIMS, chunk_dims) < 0) STACK_ERROR - if((sid = H5Screate_simple(NDIMS, dims, NULL)) < 0) + if ((sid = H5Screate_simple(NDIMS, dims, NULL)) < 0) STACK_ERROR - if((did = H5Dcreate2(fid, dset_name, H5T_NATIVE_FLOAT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, dset_name, H5T_NATIVE_FLOAT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) STACK_ERROR /* Write some data */ - if(NULL == (data = (int *)HDcalloc((size_t)NELEMENTS, sizeof(int)))) + if (NULL == (data = (int *)HDcalloc((size_t)NELEMENTS, sizeof(int)))) STACK_ERROR - for(i = 0; i < NELEMENTS; i++) + for (i = 0; i < NELEMENTS; i++) data[i] = i; - if(H5Dwrite(did, H5T_NATIVE_INT, sid, sid, H5P_DEFAULT, data) < 0) + if (H5Dwrite(did, H5T_NATIVE_INT, sid, sid, H5P_DEFAULT, data) < 0) STACK_ERROR - if(H5Pclose(dcpl_id) < 0) + if (H5Pclose(dcpl_id) < 0) STACK_ERROR - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) STACK_ERROR - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) STACK_ERROR HDfree(data); @@ -166,18 +158,19 @@ add_dset_to_file(hid_t fid, const char *dset_name) return SUCCEED; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(dcpl_id); H5Sclose(sid); H5Dclose(did); - } H5E_END_TRY; + } + H5E_END_TRY; HDfree(data); return FAIL; } /* end add_dset_to_file() */ - /*------------------------------------------------------------------------- * Function: main * @@ -196,19 +189,19 @@ error: int main(void) { - char *driver = NULL; /* name of current VFD (from env var) */ - hbool_t vfd_supports_swmr; /* whether the current VFD supports SWMR */ - hid_t fid = -1; /* file ID */ - hid_t fapl_id = -1; /* file access proplist ID */ - char filename[1024]; /* filename */ - hbool_t use_swmr; /* whether or not to use SWMR I/O */ + char * driver = NULL; /* name of current VFD (from env var) */ + hbool_t vfd_supports_swmr; /* whether the current VFD supports SWMR */ + hid_t fid = -1; /* file ID */ + hid_t fapl_id = -1; /* file access proplist ID */ + char filename[1024]; /* filename */ + hbool_t use_swmr; /* whether or not to use SWMR I/O */ h5_reset(); - if((fapl_id = h5_fileaccess()) < 0) + if ((fapl_id = h5_fileaccess()) < 0) TEST_ERROR /* Check if the current VFD supports SWMR */ - driver = HDgetenv("HDF5_DRIVER"); + driver = HDgetenv("HDF5_DRIVER"); vfd_supports_swmr = H5FD__supports_swmr_test(driver); /*************************************************/ @@ -219,20 +212,20 @@ main(void) TESTING("H5Fflush (part1 with flush)"); h5_fixname(FILENAME[0], fapl_id, filename, sizeof(filename)); use_swmr = FALSE; - if((fid = create_file(filename, fapl_id, use_swmr)) < 0) + if ((fid = create_file(filename, fapl_id, use_swmr)) < 0) TEST_ERROR - if(H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) + if (H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) FAIL_STACK_ERROR PASSED(); /* Create a file and flush w/ SWMR I/O */ TESTING("H5Fflush (part1 with flush + SWMR)"); - if(vfd_supports_swmr) { + if (vfd_supports_swmr) { h5_fixname(FILENAME[1], fapl_id, filename, sizeof(filename)); use_swmr = TRUE; - if((fid = create_file(filename, fapl_id, use_swmr)) < 0) + if ((fid = create_file(filename, fapl_id, use_swmr)) < 0) TEST_ERROR - if(H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) + if (H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) FAIL_STACK_ERROR PASSED(); } /* end if */ @@ -243,16 +236,16 @@ main(void) TESTING("H5Fflush (part1 without flush)"); h5_fixname(FILENAME[2], fapl_id, filename, sizeof(filename)); use_swmr = FALSE; - if((fid = create_file(filename, fapl_id, use_swmr)) < 0) + if ((fid = create_file(filename, fapl_id, use_swmr)) < 0) TEST_ERROR PASSED(); /* Create a file which will not be flushed w/ SWMR I/O */ TESTING("H5Fflush (part1 without flush + SWMR)"); - if(vfd_supports_swmr) { + if (vfd_supports_swmr) { h5_fixname(FILENAME[3], fapl_id, filename, sizeof(filename)); use_swmr = TRUE; - if((fid = create_file(filename, fapl_id, use_swmr)) < 0) + if ((fid = create_file(filename, fapl_id, use_swmr)) < 0) TEST_ERROR PASSED(); } /* end if */ @@ -263,28 +256,28 @@ main(void) TESTING("H5Fflush (part1 with flush and later addition and another flush)"); h5_fixname(FILENAME[4], fapl_id, filename, sizeof(filename)); use_swmr = FALSE; - if((fid = create_file(filename, fapl_id, use_swmr)) < 0) + if ((fid = create_file(filename, fapl_id, use_swmr)) < 0) TEST_ERROR - if(H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) + if (H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) FAIL_STACK_ERROR - if(add_dset_to_file(fid, SECOND_DSET_NAME) < 0) + if (add_dset_to_file(fid, SECOND_DSET_NAME) < 0) TEST_ERROR - if(H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) + if (H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) FAIL_STACK_ERROR PASSED(); /* Create a file, flush, add a dataset, flush w/ SWMR I/O */ TESTING("H5Fflush (part1 with flush and later addition and another flush + SWMR)"); - if(vfd_supports_swmr) { + if (vfd_supports_swmr) { h5_fixname(FILENAME[5], fapl_id, filename, sizeof(filename)); use_swmr = TRUE; - if((fid = create_file(filename, fapl_id, use_swmr)) < 0) + if ((fid = create_file(filename, fapl_id, use_swmr)) < 0) TEST_ERROR - if(H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) + if (H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) FAIL_STACK_ERROR - if(add_dset_to_file(fid, SECOND_DSET_NAME) < 0) + if (add_dset_to_file(fid, SECOND_DSET_NAME) < 0) TEST_ERROR - if(H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) + if (H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) FAIL_STACK_ERROR PASSED(); } /* end if */ @@ -295,31 +288,31 @@ main(void) TESTING("H5Fflush (part1 with flush and later addition)"); h5_fixname(FILENAME[6], fapl_id, filename, sizeof(filename)); use_swmr = FALSE; - if((fid = create_file(filename, fapl_id, use_swmr)) < 0) + if ((fid = create_file(filename, fapl_id, use_swmr)) < 0) TEST_ERROR - if(H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) + if (H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) FAIL_STACK_ERROR - if(add_dset_to_file(fid, SECOND_DSET_NAME) < 0) + if (add_dset_to_file(fid, SECOND_DSET_NAME) < 0) TEST_ERROR PASSED(); /* Create a file, flush, add a dataset, (no flush) w/ SWMR I/O */ TESTING("H5Fflush (part1 with flush and later addition + SWMR)"); - if(vfd_supports_swmr) { + if (vfd_supports_swmr) { h5_fixname(FILENAME[7], fapl_id, filename, sizeof(filename)); use_swmr = TRUE; - if((fid = create_file(filename, fapl_id, use_swmr)) < 0) + if ((fid = create_file(filename, fapl_id, use_swmr)) < 0) TEST_ERROR - if(H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) + if (H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) FAIL_STACK_ERROR - if(add_dset_to_file(fid, SECOND_DSET_NAME) < 0) + if (add_dset_to_file(fid, SECOND_DSET_NAME) < 0) TEST_ERROR PASSED(); } /* end if */ else SKIPPED(); - if(!vfd_supports_swmr) + if (!vfd_supports_swmr) HDprintf("NOTE: Some tests were skipped since the current VFD lacks SWMR support\n"); /* Flush console output streams */ @@ -327,17 +320,15 @@ main(void) HDfflush(stderr); /* DO NOT CLOSE FILE ID! */ - if(H5Pclose(fapl_id) < 0) + if (H5Pclose(fapl_id) < 0) STACK_ERROR /* _exit() is necessary since we want a hard close of the library */ HD_exit(EXIT_SUCCESS); error: - H5E_BEGIN_TRY { - H5Pclose(fapl_id); - } H5E_END_TRY; + H5E_BEGIN_TRY { H5Pclose(fapl_id); } + H5E_END_TRY; HDexit(EXIT_FAILURE); } /* end main() */ - |