summaryrefslogtreecommitdiffstats
path: root/tools/test/h5repack/h5repackgentest.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/test/h5repack/h5repackgentest.c')
-rw-r--r--tools/test/h5repack/h5repackgentest.c297
1 files changed, 112 insertions, 185 deletions
diff --git a/tools/test/h5repack/h5repackgentest.c b/tools/test/h5repack/h5repackgentest.c
index 12883b7..aaac285 100644
--- a/tools/test/h5repack/h5repackgentest.c
+++ b/tools/test/h5repack/h5repackgentest.c
@@ -42,7 +42,10 @@
#define FILE_UINT8BE "h5repack_uint8be"
#define FILE_F32LE "h5repack_f32le"
-#define H5REPACKGENTEST_OOPS ret_value = -1; goto done;
+#define H5REPACKGENTEST_OOPS { \
+ ret_value = -1; \
+ goto done; \
+}
#define H5REPACKGENTEST_COMMON_CLEANUP(dcpl, file, space) { \
if ((dcpl) != H5P_DEFAULT && (dcpl) != H5I_INVALID_HID) { \
@@ -53,58 +56,37 @@
}
struct external_def {
- hsize_t type_size;
+ hsize_t type_size;
unsigned n_elts_per_file;
unsigned n_elts_total;
};
-
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* Helper function to create and write a dataset to file.
* Returns 0 on success, -1 on failure.
*/
static int
-__make_dataset(
- hid_t file_id,
- const char *dset_name,
- hid_t mem_type_id,
- hid_t space_id,
- hid_t dcpl_id,
- void *wdata)
-{
- hid_t dset_id = H5I_INVALID_HID;
+__make_dataset(hid_t file_id, const char *dset_name,
+ hid_t mem_type_id, hid_t space_id, hid_t dcpl_id, void *wdata) {
+ hid_t dset_id = H5I_INVALID_HID;
int ret_value = 0;
- dset_id = H5Dcreate2(
- file_id,
- dset_name,
- mem_type_id,
- space_id,
- H5P_DEFAULT,
- dcpl_id,
- H5P_DEFAULT);
- if (dset_id == H5I_INVALID_HID) {
+ dset_id = H5Dcreate2(file_id, dset_name, mem_type_id, space_id,
+ H5P_DEFAULT, dcpl_id,
+ H5P_DEFAULT);
+ if (dset_id == H5I_INVALID_HID)
H5REPACKGENTEST_OOPS;
- }
- if (H5Dwrite(
- dset_id,
- mem_type_id,
- H5S_ALL,
- H5S_ALL,
- H5P_DEFAULT,
- wdata)
- < 0)
- {
+ if (H5Dwrite(dset_id, mem_type_id, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata) < 0)
H5REPACKGENTEST_OOPS;
- }
done:
- if (dset_id != H5I_INVALID_HID) { (void)H5Dclose(dset_id); }
+ if (dset_id != H5I_INVALID_HID)
+ (void) H5Dclose(dset_id);
+
return ret_value;
} /* end __make_dataset() */
-
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* Helper function to populate the DCPL external storage list.
* Creates external files for the DCPL, with each file name following the
@@ -114,38 +96,30 @@ done:
* Returns 0 on success, -1 on failure.
*/
static int
-__set_dcpl_external_list(
- hid_t dcpl,
- const char *filename,
- unsigned n_elts_per_file,
- unsigned n_elts_total,
- hsize_t elt_size)
-{
+__set_dcpl_external_list(hid_t dcpl, const char *filename,
+ unsigned n_elts_per_file, unsigned n_elts_total, hsize_t elt_size) {
char name[MAX_NAME_SIZE];
unsigned n_external_files = 0;
unsigned i = 0;
- if (NULL == filename || '\0' == *filename) {
+ if (NULL == filename || '\0' == *filename)
return -1;
- }
n_external_files = n_elts_total / n_elts_per_file;
- if (n_elts_total != (n_external_files * n_elts_per_file)) {
+ if (n_elts_total != (n_external_files * n_elts_per_file))
return -1;
- }
+
for (i = 0; i < n_external_files; i++) {
- if (snprintf(name, MAX_NAME_SIZE, "%s_ex-%u.dat", filename, i) >= MAX_NAME_SIZE) {
+ if (HDsnprintf(name, MAX_NAME_SIZE, "%s_ex-%u.dat", filename, i) >= MAX_NAME_SIZE)
return -1;
- }
- if (H5Pset_external(dcpl, name, 0, n_elts_per_file * elt_size) < 0) {
+
+ if (H5Pset_external(dcpl, name, 0, n_elts_per_file * elt_size) < 0)
return -1;
- }
}
return 0;
} /* end __set_dcpl_external_list() */
-
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* Generalized utility function to write a file with the specified data and
* dataset configuration. If `ext` is provided, will attempt to use external
@@ -153,141 +127,102 @@ __set_dcpl_external_list(
* Returns 0 on success, -1 on failure.
*/
static int
-__make_file(
- const char *basename,
- struct external_def *ext,
- hid_t type_id,
- hsize_t rank,
- hsize_t *dims,
- void *wdata)
-{
- char filename[MAX_NAME_SIZE];
- hid_t file_id = H5I_INVALID_HID;
- hid_t dcpl_id = H5P_DEFAULT;
- hid_t space_id = H5I_INVALID_HID;
- int ret_value = 0;
+__make_file(const char *basename, struct external_def *ext,
+ hid_t type_id, hsize_t rank, hsize_t *dims, void *wdata) {
+ char filename[MAX_NAME_SIZE];
+ hid_t file_id = H5I_INVALID_HID;
+ hid_t dcpl_id = H5P_DEFAULT;
+ hid_t space_id = H5I_INVALID_HID;
+ int ret_value = 0;
- if (snprintf(filename,
- MAX_NAME_SIZE,
- "%s%s.h5",
- basename,
- (NULL != ext) ? "_ex" : "")
- >= MAX_NAME_SIZE)
- {
+ if (HDsnprintf(filename, MAX_NAME_SIZE, "%s%s.h5", basename, (NULL != ext) ? "_ex" : "") >= MAX_NAME_SIZE)
H5REPACKGENTEST_OOPS;
- }
if (NULL != ext) {
dcpl_id = H5Pcreate(H5P_DATASET_CREATE);
- if (dcpl_id == H5I_INVALID_HID) {
+ if (dcpl_id == H5I_INVALID_HID)
H5REPACKGENTEST_OOPS;
- }
- if (__set_dcpl_external_list(
- dcpl_id,
- basename,
- ext->n_elts_per_file,
- ext->n_elts_total,
- ext->type_size)
- < 0)
- {
+
+ if (__set_dcpl_external_list(dcpl_id, basename, ext->n_elts_per_file, ext->n_elts_total, ext->type_size) < 0)
H5REPACKGENTEST_OOPS;
- }
}
space_id = H5Screate_simple(rank, dims, NULL);
- if (space_id == H5I_INVALID_HID) {
+ if (space_id == H5I_INVALID_HID)
H5REPACKGENTEST_OOPS;
- }
file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
- if (file_id == H5I_INVALID_HID) {
+ if (file_id == H5I_INVALID_HID)
H5REPACKGENTEST_OOPS;
- }
- if (__make_dataset(
- file_id,
- "dset",
- type_id,
- space_id,
- dcpl_id,
- wdata)
- < 0)
- {
+
+ if (__make_dataset(file_id, "dset", type_id, space_id, dcpl_id, wdata) < 0)
H5REPACKGENTEST_OOPS;
- }
done:
H5REPACKGENTEST_COMMON_CLEANUP(dcpl_id, file_id, space_id);
- return ret_value;
+return ret_value;
} /* end __make_file() */
-
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* Returns 0 on success, -1 on failure.
*/
static int
-generate_int32le_1d(hbool_t external)
-{
- int32_t wdata[12];
- hsize_t dims[] = {12};
- struct external_def *def_ptr = NULL;
- struct external_def def = { (hsize_t)sizeof(int32_t), 6, 12 };
- int32_t n = 0;
- int ret_value = 0;
+generate_int32le_1d(hbool_t external) {
+ int32_t wdata[12];
+ hsize_t dims[] = { 12 };
+ struct external_def *def_ptr = NULL;
+ struct external_def def = { (hsize_t) sizeof(int32_t), 6, 12 };
+ int32_t n = 0;
+ int ret_value = 0;
/* Generate values
- */
+ */
for (n = 0; n < 12; n++) {
- wdata[n] = n-6;
+ wdata[n] = n - 6;
}
def_ptr = (TRUE == external) ? (&def) : NULL;
- if (__make_file(FILE_INT32LE_1, def_ptr, H5T_STD_I32LE, 1, dims, wdata) < 0) {
+ if (__make_file(FILE_INT32LE_1, def_ptr, H5T_STD_I32LE, 1, dims, wdata) < 0)
ret_value = -1;
- }
return ret_value;
} /* end generate_int32le_1d() */
-
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* Returns 0 on success, -1 on failure.
*/
static int
-generate_int32le_2d(hbool_t external)
-{
- int32_t wdata[64];
- hsize_t dims[] = {8, 8};
- struct external_def *def_ptr = NULL;
- struct external_def def = { (hsize_t)sizeof(int32_t), 64, 64 };
- int32_t n = 0;
- int ret_value = 0;
+generate_int32le_2d(hbool_t external) {
+ int32_t wdata[64];
+ hsize_t dims[] = { 8, 8 };
+ struct external_def *def_ptr = NULL;
+ struct external_def def = { (hsize_t) sizeof(int32_t), 64, 64 };
+ int32_t n = 0;
+ int ret_value = 0;
/* Generate values
- */
+ */
for (n = 0; n < 64; n++) {
- wdata[n] = n-32;
+ wdata[n] = n - 32;
}
def_ptr = (TRUE == external) ? (&def) : NULL;
- if (__make_file(FILE_INT32LE_2, def_ptr, H5T_STD_I32LE, 2, dims, wdata) < 0) {
+ if (__make_file(FILE_INT32LE_2, def_ptr, H5T_STD_I32LE, 2, dims, wdata) < 0)
ret_value = -1;
- }
return ret_value;
} /* end generate_int32le_2d() */
-
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* Returns 0 on success, -1 on failure.
*/
static int
-generate_int32le_3d(hbool_t external)
-{
- hsize_t dims[] = {8, 8, 8};
- int32_t wdata[512]; /* 8^3, from dims */
+generate_int32le_3d(hbool_t external) {
+ hsize_t dims[] = { 8, 8, 8 };
+ int32_t wdata[512]; /* 8^3, from dims */
struct external_def *def_ptr = NULL;
- struct external_def def = { (hsize_t)sizeof(int32_t), 512, 512 };
+ struct external_def def = { (hsize_t) sizeof(int32_t), 512, 512 };
int32_t n = 0;
int i = 0;
int j = 0;
@@ -295,34 +230,31 @@ generate_int32le_3d(hbool_t external)
int ret_value = 0;
/* generate values, alternating positive and negative
- */
- for (i=0, n=0; i < dims[0]; i++) {
- for (j=0; j < dims[1]; j++) {
- for (k=0; k < dims[2]; k++, n++) {
- wdata[n] = (k + j*512 + i*4096) * ((n&1) ? (-1) : (1));
+ */
+ for (i = 0, n = 0; i < dims[0]; i++) {
+ for (j = 0; j < dims[1]; j++) {
+ for (k = 0; k < dims[2]; k++, n++) {
+ wdata[n] = (k + j * 512 + i * 4096) * ((n & 1) ? (-1) : (1));
}
}
}
def_ptr = (TRUE == external) ? (&def) : NULL;
- if (__make_file(FILE_INT32LE_3, def_ptr, H5T_STD_I32LE, 3, dims, wdata) < 0) {
+ if (__make_file(FILE_INT32LE_3, def_ptr, H5T_STD_I32LE, 3, dims, wdata) < 0)
ret_value = -1;
- }
return ret_value;
} /* end generate_int32le_3d() */
-
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* Returns 0 on success, -1 on failure.
*/
static int
-generate_uint8be(hbool_t external)
-{
- hsize_t dims[] = {4, 8, 8};
- uint8_t wdata[256]; /* 4*8*8, from dims */
+generate_uint8be(hbool_t external) {
+ hsize_t dims[] = { 4, 8, 8 };
+ uint8_t wdata[256]; /* 4*8*8, from dims */
struct external_def *def_ptr = NULL;
- struct external_def def = { (hsize_t)sizeof(uint8_t), 64, 256 };
+ struct external_def def = { (hsize_t) sizeof(uint8_t), 64, 256 };
uint8_t n = 0;
int i = 0;
int j = 0;
@@ -330,84 +262,79 @@ generate_uint8be(hbool_t external)
int ret_value = 0;
/* Generate values, ping-pong from ends of range
- */
- for (i=0, n=0; i < dims[0]; i++) {
- for (j=0; j < dims[1]; j++) {
- for (k=0; k < dims[2]; k++, n++) {
- wdata[n] = n * ((n&1) ? (-1) : (1));
+ */
+ for (i = 0, n = 0; i < dims[0]; i++) {
+ for (j = 0; j < dims[1]; j++) {
+ for (k = 0; k < dims[2]; k++, n++) {
+ wdata[n] = n * ((n & 1) ? (-1) : (1));
}
}
}
def_ptr = (TRUE == external) ? (&def) : NULL;
- if (__make_file(FILE_UINT8BE, def_ptr, H5T_STD_U8BE, 3, dims, wdata) < 0) {
+ if (__make_file(FILE_UINT8BE, def_ptr, H5T_STD_U8BE, 3, dims, wdata) < 0)
ret_value = -1;
- }
return ret_value;
} /* end generate_uint8be() */
-
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* Returns 0 on success, -1 on failure.
*/
static int
-generate_f32le(hbool_t external)
-{
- hsize_t dims[] = {12, 6};
- float wdata[72]; /* 12*6, from dims */
+generate_f32le(hbool_t external) {
+ hsize_t dims[] = { 12, 6 };
+ float wdata[72]; /* 12*6, from dims */
struct external_def *def_ptr = NULL;
- struct external_def def = {
- (hsize_t)sizeof(float),
- 72,
- 72
- };
- float n = 0;
- int i = 0;
- int j = 0;
- int k = 0;
- int ret_value = 0;
+ struct external_def def = { (hsize_t) sizeof(float), 72, 72 };
+ float n = 0;
+ int i = 0;
+ int j = 0;
+ int k = 0;
+ int ret_value = 0;
/* Generate values */
- for (i=0, k=0, n=0; i < dims[0]; i++) {
- for (j=0; j < dims[1]; j++, k++, n++) {
+ for (i = 0, k = 0, n = 0; i < dims[0]; i++) {
+ for (j = 0; j < dims[1]; j++, k++, n++) {
wdata[k] = n * 801.1 * ((k % 5 == 1) ? (-1) : (1));
}
}
def_ptr = (TRUE == external) ? (&def) : NULL;
- if (__make_file(FILE_F32LE, def_ptr, H5T_IEEE_F32LE, 2, dims, wdata) < 0) {
+ if (__make_file(FILE_F32LE, def_ptr, H5T_IEEE_F32LE, 2, dims, wdata) < 0)
ret_value = -1;
- }
return ret_value;
} /* end generate_f32le() */
-
/* ----------------------------------------------------------------------------
* Create files.
* Return 0 on success, nonzero on failure.
*/
int
-main(void)
-{
- int i = 0;
+main(void) {
+ int i = 0;
int ret_value = 0;
- for (i=0; i < 2; i++) {
- hbool_t external = (i&1) ? TRUE : FALSE;
- if (ret_value == 0) { ret_value -= generate_int32le_1d(external); }
- if (ret_value == 0) { ret_value -= generate_int32le_2d(external); }
- if (ret_value == 0) { ret_value -= generate_int32le_3d(external); }
- if (ret_value == 0) { ret_value -= generate_uint8be(external); }
- if (ret_value == 0) { ret_value -= generate_f32le(external); }
- } /* end for external data storage or not */
+ for (i = 0; i < 2; i++) {
+ hbool_t external = (i & 1) ? TRUE : FALSE;
+ if (generate_int32le_1d(external) < 0)
+ HDprintf("A generate_int32le_1d failed!\n");
- if (ret_value != 0) {
- HDprintf("A problem occurred!\n");
- }
+ if (generate_int32le_2d(external) < 0)
+ HDprintf("A generate_int32le_2d failed!\n");
- return ret_value;
-} /* end main() */
+ if (generate_int32le_3d(external) < 0)
+ HDprintf("A generate_int32le_3d failed!\n");
+ if (generate_uint8be(external) < 0)
+ HDprintf("A generate_uint8be failed!\n");
+
+ if (generate_f32le(external) < 0)
+ HDprintf("A generate_f32le failed!\n");
+
+ } /* end for external data storage or not */
+
+ return EXIT_SUCCESS;
+} /* end main() */