summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Young <dyoung@hdfgroup.org>2020-03-31 18:13:39 (GMT)
committerDavid Young <dyoung@hdfgroup.org>2020-03-31 18:13:39 (GMT)
commit69fcb52eca6ec15f366c069fb9beb29190d58ba1 (patch)
tree22f4cc0752bf362e75d4e99b7c134bb4b3e25531
parent817756a0e0a84a376e3c399f13ff495fde7a10a4 (diff)
downloadhdf5-69fcb52eca6ec15f366c069fb9beb29190d58ba1.zip
hdf5-69fcb52eca6ec15f366c069fb9beb29190d58ba1.tar.gz
hdf5-69fcb52eca6ec15f366c069fb9beb29190d58ba1.tar.bz2
Prepare for reuse in vfd_swmr_zoo_{reader,writer}: in
validate_zoo()/check_zoo(), instead of checking/modifying the global variable `pass`, just return `false` on failure, `true` on success. Update test `cache_image` to match.
-rw-r--r--test/cache_image.c12
-rw-r--r--test/genall5.c2830
-rw-r--r--test/genall5.h40
3 files changed, 1116 insertions, 1766 deletions
diff --git a/test/cache_image.c b/test/cache_image.c
index d3ade5c..8e8c1e7 100644
--- a/test/cache_image.c
+++ b/test/cache_image.c
@@ -4820,7 +4820,7 @@ cache_image_smoke_check_5(hbool_t single_file_vfd)
/* 3) Construct a "zoo" in the above group, and validate it. */
if ( pass )
- create_zoo(file_id, process_group_name, min_group, false);
+ pass = create_zoo(file_id, process_group_name, min_group, false);
#if H5C_COLLECT_CACHE_STATS
if ( pass ) {
@@ -4892,7 +4892,7 @@ cache_image_smoke_check_5(hbool_t single_file_vfd)
/* 6) Validate the "zoo" created in the previous file open. */
if ( pass )
- validate_zoo(file_id, process_group_name, max_group, false);
+ pass = validate_zoo(file_id, process_group_name, max_group, false);
#if H5C_COLLECT_CACHE_STATS
if ( pass ) {
@@ -4933,7 +4933,7 @@ cache_image_smoke_check_5(hbool_t single_file_vfd)
/* 8) Construct a "zoo" in the above group, and validate it. */
if ( pass )
- create_zoo(file_id, process_group_name, max_group, false);
+ pass = create_zoo(file_id, process_group_name, max_group, false);
if ( show_progress )
HDfprintf(stdout, "%s:L4 cp = %d, max_group = %d, pass = %d.\n",
@@ -4994,7 +4994,7 @@ cache_image_smoke_check_5(hbool_t single_file_vfd)
i = min_group;
while(pass && i <= max_group) {
HDsprintf(process_group_name, "/process_%d", i);
- validate_zoo(file_id, process_group_name, i++, false);
+ pass = validate_zoo(file_id, process_group_name, i++, false);
}
#if H5C_COLLECT_CACHE_STATS
@@ -5047,7 +5047,7 @@ cache_image_smoke_check_5(hbool_t single_file_vfd)
while ( ( pass ) && ( i <= max_group ) ) {
HDsprintf(process_group_name, "/process_%d", i);
- validate_zoo(file_id, process_group_name, i++, false);
+ pass = validate_zoo(file_id, process_group_name, i++, false);
}
#if H5C_COLLECT_CACHE_STATS
@@ -5111,7 +5111,7 @@ cache_image_smoke_check_5(hbool_t single_file_vfd)
i = min_group;
while ( ( pass ) && ( i <= max_group ) ) {
HDsprintf(process_group_name, "/process_%d", i);
- validate_zoo(file_id, process_group_name, i++, false);
+ pass = validate_zoo(file_id, process_group_name, i++, false);
}
#if H5C_COLLECT_CACHE_STATS
diff --git a/test/genall5.c b/test/genall5.c
index 0904e9a..d9064d8 100644
--- a/test/genall5.c
+++ b/test/genall5.c
@@ -34,12 +34,10 @@
* Purpose: Create an empty "new style" group at the specified location
* in the specified file.
*
- * If pass is false on entry, do nothing.
- *
- * If an error is detected, set pass to FALSE, and set
+ * If an error is detected, return false, and set
* failure_mssg to point to an appropriate error message.
*
- * Return: void
+ * Return: true on success, false on failure.
*
* Programmer: John Mainzer
* 9/14/15
@@ -47,65 +45,50 @@
*-------------------------------------------------------------------------
*/
-void
-ns_grp_0(hid_t fid, const char *group_name) {
+bool
+ns_grp_0(hid_t fid, const char *group_name)
+{
hid_t gid = -1;
hid_t gcpl = -1;
herr_t ret;
- if (pass) {
- gcpl = H5Pcreate(H5P_GROUP_CREATE);
+ gcpl = H5Pcreate(H5P_GROUP_CREATE);
- if (gcpl <= 0) {
- pass = FALSE;
- failure_mssg = "ns_grp_0: H5Pcreate() failed";
- }
- HDassert(gcpl > 0);
+ if (gcpl <= 0) {
+ failure_mssg = "ns_grp_0: H5Pcreate() failed";
+ return false;
}
- if (pass) {
- ret = H5Pset_link_creation_order(gcpl, H5P_CRT_ORDER_TRACKED);
+ ret = H5Pset_link_creation_order(gcpl, H5P_CRT_ORDER_TRACKED);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ns_grp_0: H5Pset_link_creation_order() failed";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "ns_grp_0: H5Pset_link_creation_order() failed";
+ return false;
}
- if (pass) {
- gid = H5Gcreate2(fid, group_name, H5P_DEFAULT, gcpl, H5P_DEFAULT);
+ gid = H5Gcreate2(fid, group_name, H5P_DEFAULT, gcpl, H5P_DEFAULT);
- if (gid <= 0) {
- pass = FALSE;
- failure_mssg = "ns_grp_0: H5Gcreate2() failed";
- }
- HDassert(gid > 0);
+ if (gid <= 0) {
+ failure_mssg = "ns_grp_0: H5Gcreate2() failed";
+ return false;
}
- if (pass) {
- ret = H5Pclose(gcpl);
+ ret = H5Pclose(gcpl);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ns_grp_0: H5Pclose(gcpl) failed";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "ns_grp_0: H5Pclose(gcpl) failed";
+ return false;
}
- if (pass) {
- ret = H5Gclose(gid);
+ ret = H5Gclose(gid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ns_grp_0: H5Gclose(gid) failed";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "ns_grp_0: H5Gclose(gid) failed";
+ return false;
}
- return;
-
-} /* ns_grp_0 */
+ return true;
+}
/*-------------------------------------------------------------------------
@@ -114,12 +97,10 @@ ns_grp_0(hid_t fid, const char *group_name) {
* Purpose: verify an empty "new style" group at the specified location
* in the specified file.
*
- * If pass is false on entry, do nothing.
- *
- * If an error is detected, set pass to FALSE, and set
+ * If an error is detected, return false, and set
* failure_mssg to point to an appropriate error message.
*
- * Return: void
+ * Return: true on success, false on failure.
*
* Programmer: John Mainzer
* 9/14/15
@@ -127,103 +108,76 @@ ns_grp_0(hid_t fid, const char *group_name) {
*-------------------------------------------------------------------------
*/
-void vrfy_ns_grp_0(hid_t fid, const char *group_name) {
+bool
+vrfy_ns_grp_0(hid_t fid, const char *group_name)
+{
hid_t gid = -1;
hid_t gcpl = -1;
H5G_info_t grp_info;
unsigned crt_order_flags = 0;
herr_t ret;
- if (pass) {
- gid = H5Gopen2(fid, group_name, H5P_DEFAULT);
+ gid = H5Gopen2(fid, group_name, H5P_DEFAULT);
- if (gid <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_0: H5Gopen2() failed";
- }
- HDassert(gid > 0);
+ if (gid <= 0) {
+ failure_mssg = "vrfy_ns_grp_0: H5Gopen2() failed";
+ return false;
}
- if (pass) {
- gcpl = H5Gget_create_plist(gid);
+ gcpl = H5Gget_create_plist(gid);
- if (gcpl <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_0: H5Gget_create_plist() failed";
- }
- HDassert(gcpl > 0);
+ if (gcpl <= 0) {
+ failure_mssg = "vrfy_ns_grp_0: H5Gget_create_plist() failed";
+ return false;
}
- if (pass) {
- ret = H5Pget_link_creation_order(gcpl, &crt_order_flags);
+ ret = H5Pget_link_creation_order(gcpl, &crt_order_flags);
- if (gcpl <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_0: H5Pget_link_creation_order() failed";
- }
- else if ( H5P_CRT_ORDER_TRACKED != crt_order_flags) {
- pass = FALSE;
- failure_mssg =
- "vrfy_ns_grp_0: H5P_CRT_ORDER_TRACKED != crt_order_flags";
- }
- HDassert(ret >= 0);
- HDassert(H5P_CRT_ORDER_TRACKED == crt_order_flags);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ns_grp_0: H5Pget_link_creation_order() failed";
+ return false;
+ } else if ( H5P_CRT_ORDER_TRACKED != crt_order_flags) {
+ failure_mssg =
+ "vrfy_ns_grp_0: H5P_CRT_ORDER_TRACKED != crt_order_flags";
+ return false;
}
- if (pass) {
- ret = H5Pclose(gcpl);
+ ret = H5Pclose(gcpl);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_0: H5Pclose() failed";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ns_grp_0: H5Pclose() failed";
+ return false;
}
- if (pass) {
- HDmemset(&grp_info, 0, sizeof(grp_info));
- ret = H5Gget_info(gid, &grp_info);
-
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_0: H5Gget_info() failed";
- }
- else if (H5G_STORAGE_TYPE_COMPACT != grp_info.storage_type) {
- pass = FALSE;
- failure_mssg =
- "vrfy_ns_grp_0: H5G_STORAGE_TYPE_COMPACT != grp_info.storage_type";
- }
- else if (0 != grp_info.nlinks) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_0: 0 != grp_info.nlinks";
- }
- else if (0 != grp_info.max_corder) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_0: 0 != grp_info.max_corder";
- }
- else if ( FALSE != grp_info.mounted) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_0: FALSE != grp_info.mounted";
- }
+ HDmemset(&grp_info, 0, sizeof(grp_info));
+ ret = H5Gget_info(gid, &grp_info);
- HDassert(ret >= 0);
- HDassert(H5G_STORAGE_TYPE_COMPACT == grp_info.storage_type);
- HDassert(0 == grp_info.nlinks);
- HDassert(0 == grp_info.max_corder);
- HDassert(false == grp_info.mounted);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ns_grp_0: H5Gget_info() failed";
+ return false;
+ } else if (H5G_STORAGE_TYPE_COMPACT != grp_info.storage_type) {
+ failure_mssg =
+ "vrfy_ns_grp_0: H5G_STORAGE_TYPE_COMPACT != grp_info.storage_type";
+ return false;
+ } else if (0 != grp_info.nlinks) {
+ failure_mssg = "vrfy_ns_grp_0: 0 != grp_info.nlinks";
+ return false;
+ } else if (0 != grp_info.max_corder) {
+ failure_mssg = "vrfy_ns_grp_0: 0 != grp_info.max_corder";
+ return false;
+ } else if ( FALSE != grp_info.mounted) {
+ failure_mssg = "vrfy_ns_grp_0: FALSE != grp_info.mounted";
+ return false;
}
- if (pass) {
- ret = H5Gclose(gid);
+ ret = H5Gclose(gid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_0: H5Gclose() failed";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ns_grp_0: H5Gclose() failed";
+ return false;
}
- return;
+ return true;
} /* vrfy_ns_grp_0() */
@@ -233,12 +187,10 @@ void vrfy_ns_grp_0(hid_t fid, const char *group_name) {
* Purpose: Create a compact "new style" group, with 'nlinks'
* soft/hard/external links in it in the specified file.
*
- * If pass is false on entry, do nothing.
- *
- * If an error is detected, set pass to FALSE, and set
+ * If an error is detected, return false, and set
* failure_mssg to point to an appropriate error message.
*
- * Return: void
+ * Return: true on success, false on failure.
*
* Programmer: John Mainzer
* 9/14/15
@@ -246,127 +198,98 @@ void vrfy_ns_grp_0(hid_t fid, const char *group_name) {
*-------------------------------------------------------------------------
*/
-void
-ns_grp_c(hid_t fid, const char *group_name, unsigned nlinks) {
+bool
+ns_grp_c(hid_t fid, const char *group_name, unsigned nlinks)
+{
hid_t gid = -1;
hid_t gcpl = -1;
unsigned max_compact;
unsigned u;
herr_t ret;
- if (pass) {
- gcpl = H5Pcreate(H5P_GROUP_CREATE);
+ gcpl = H5Pcreate(H5P_GROUP_CREATE);
- if (gcpl <= 0) {
- pass = FALSE;
- failure_mssg = "ns_grp_c: H5Pcreate(H5P_GROUP_CREATE) failed";
- }
- HDassert(gcpl > 0);
+ if (gcpl <= 0) {
+ failure_mssg = "ns_grp_c: H5Pcreate(H5P_GROUP_CREATE) failed";
+ return false;
}
- if (pass) {
- ret = H5Pset_link_creation_order(gcpl, H5P_CRT_ORDER_TRACKED);
+ ret = H5Pset_link_creation_order(gcpl, H5P_CRT_ORDER_TRACKED);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ns_grp_c: H5Pset_link_creation_order() failed";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "ns_grp_c: H5Pset_link_creation_order() failed";
+ return false;
}
- if (pass) {
- gid = H5Gcreate2(fid, group_name, H5P_DEFAULT, gcpl, H5P_DEFAULT);
+ gid = H5Gcreate2(fid, group_name, H5P_DEFAULT, gcpl, H5P_DEFAULT);
- if (gid <= 0) {
- pass = FALSE;
- failure_mssg = "ns_grp_c: H5Gcreate2() failed";
- }
- HDassert(gid > 0);
+ if (gid <= 0) {
+ failure_mssg = "ns_grp_c: H5Gcreate2() failed";
+ return false;
}
- if (pass) {
- max_compact = 0;
- ret = H5Pget_link_phase_change(gcpl, &max_compact, NULL);
-
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ns_grp_c: H5Pget_link_phase_change() failed";
- }
- else if (nlinks <= 0) {
- pass = FALSE;
- failure_mssg = "ns_grp_c: nlinks <= 0";
- }
- else if (nlinks >= max_compact) {
- pass = FALSE;
- failure_mssg = "ns_grp_c: nlinks >= max_compact";
- }
+ max_compact = 0;
+ ret = H5Pget_link_phase_change(gcpl, &max_compact, NULL);
- HDassert(ret >= 0);
- HDassert(nlinks > 0);
- HDassert(nlinks < max_compact);
+ if (ret < 0) {
+ failure_mssg = "ns_grp_c: H5Pget_link_phase_change() failed";
+ return false;
+ } else if (nlinks <= 0) {
+ failure_mssg = "ns_grp_c: nlinks <= 0";
+ return false;
+ } else if (nlinks >= max_compact) {
+ failure_mssg = "ns_grp_c: nlinks >= max_compact";
+ return false;
}
- u = 0;
- while ((pass) && (u < nlinks)) {
+ for (u = 0; u < nlinks; u++) {
char linkname[16];
HDsprintf(linkname, "%u", u);
if (0 == (u % 3)) {
- ret = H5Lcreate_soft(group_name, gid, linkname, H5P_DEFAULT, H5P_DEFAULT);
+ ret = H5Lcreate_soft(group_name, gid, linkname, H5P_DEFAULT,
+ H5P_DEFAULT);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "ns_grp_c: H5Lcreate_soft() failed";
+ return false;
}
- HDassert(ret >= 0);
- } /* end if */
- else if (1 == (u % 3)) {
+ } else if (1 == (u % 3)) {
ret = H5Lcreate_hard(fid, "/", gid, linkname, H5P_DEFAULT,
H5P_DEFAULT);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "ns_grp_c: H5Lcreate_hard() failed";
+ return false;
}
- HDassert(ret >= 0);
- } /* end else-if */
- else {
+ } else {
HDassert(2 == (u % 3));
ret = H5Lcreate_external("external.h5", "/ext", gid, linkname,
H5P_DEFAULT, H5P_DEFAULT);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "ns_grp_c: H5Lcreate_external() failed";
+ return false;
}
- HDassert(ret >= 0);
- } /* end else */
-
- u++;
- } /* end while() */
+ }
+ }
- if (pass) {
- ret = H5Pclose(gcpl);
+ ret = H5Pclose(gcpl);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ns_grp_c: H5Pclose(gcpl) failed";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "ns_grp_c: H5Pclose(gcpl) failed";
+ return false;
}
- if (pass) {
- ret = H5Gclose(gid);
+ ret = H5Gclose(gid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ns_grp_c: H5Gclose(gid) failed";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "ns_grp_c: H5Gclose(gid) failed";
+ return false;
}
- return;
+ return true;
} /* ns_grp_c() */
@@ -377,12 +300,10 @@ ns_grp_c(hid_t fid, const char *group_name, unsigned nlinks) {
* Purpose: Verify a compact "new style" group, with 'nlinks'
* soft/hard/external links in it in the specified file.
*
- * If pass is false on entry, do nothing.
- *
- * If an error is detected, set pass to FALSE, and set
+ * If an error is detected, return false, and set
* failure_mssg to point to an appropriate error message.
*
- * Return: void
+ * Return: true on success, false on failure.
*
* Programmer: John Mainzer
* 9/14/15
@@ -390,8 +311,9 @@ ns_grp_c(hid_t fid, const char *group_name, unsigned nlinks) {
*-------------------------------------------------------------------------
*/
-void
-vrfy_ns_grp_c(hid_t fid, const char *group_name, unsigned nlinks) {
+bool
+vrfy_ns_grp_c(hid_t fid, const char *group_name, unsigned nlinks)
+{
hid_t gid = -1;
hid_t gcpl = -1;
H5G_info_t grp_info;
@@ -399,86 +321,61 @@ vrfy_ns_grp_c(hid_t fid, const char *group_name, unsigned nlinks) {
unsigned u;
herr_t ret;
- if (pass) {
- gid = H5Gopen2(fid, group_name, H5P_DEFAULT);
+ gid = H5Gopen2(fid, group_name, H5P_DEFAULT);
- if (gid <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_c: H5Gopen2() failed";
- }
- HDassert(gid > 0);
+ if (gid <= 0) {
+ failure_mssg = "vrfy_ns_grp_c: H5Gopen2() failed";
+ return false;
}
- if (pass) {
- gcpl = H5Gget_create_plist(gid);
+ gcpl = H5Gget_create_plist(gid);
- if (gcpl <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_c: H5Gget_create_plist(gid) failed";
- }
- HDassert(gcpl > 0);
+ if (gcpl <= 0) {
+ failure_mssg = "vrfy_ns_grp_c: H5Gget_create_plist(gid) failed";
+ return false;
}
- if (pass) {
- ret = H5Pget_link_creation_order(gcpl, &crt_order_flags);
+ ret = H5Pget_link_creation_order(gcpl, &crt_order_flags);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_c: H5Pget_link_creation_order() failed";
- }
- else if ( H5P_CRT_ORDER_TRACKED != crt_order_flags) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_c: H5P_CRT_ORDER_TRACKED != crt_order_flags";
- }
- HDassert(ret >= 0);
- HDassert(H5P_CRT_ORDER_TRACKED == crt_order_flags);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ns_grp_c: H5Pget_link_creation_order() failed";
+ return false;
+ } else if ( H5P_CRT_ORDER_TRACKED != crt_order_flags) {
+ failure_mssg =
+ "vrfy_ns_grp_c: H5P_CRT_ORDER_TRACKED != crt_order_flags";
+ return false;
}
- if (pass) {
- ret = H5Pclose(gcpl);
+ ret = H5Pclose(gcpl);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_c: H5Pclose() failed";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ns_grp_c: H5Pclose() failed";
+ return false;
}
- if (pass) {
- HDmemset(&grp_info, 0, sizeof(grp_info));
- ret = H5Gget_info(gid, &grp_info);
-
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_c: H5Gget_info() failed";
- }
- else if (H5G_STORAGE_TYPE_COMPACT != grp_info.storage_type) {
- pass = FALSE;
- failure_mssg =
- "vrfy_ns_grp_c: H5G_STORAGE_TYPE_COMPACT != grp_info.storage_type";
- }
- else if (nlinks != grp_info.nlinks) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_c: nlinks != grp_info.nlinks";
- }
- else if (nlinks != grp_info.max_corder) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_c: nlinks != grp_info.max_corder";
- }
- else if ( FALSE != grp_info.mounted) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_c: FALSE != grp_info.mounted";
- }
+ HDmemset(&grp_info, 0, sizeof(grp_info));
+ ret = H5Gget_info(gid, &grp_info);
- HDassert(ret >= 0);
- HDassert(H5G_STORAGE_TYPE_COMPACT == grp_info.storage_type);
- HDassert(nlinks == grp_info.nlinks);
- HDassert(nlinks == grp_info.max_corder);
- HDassert(false == grp_info.mounted);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ns_grp_c: H5Gget_info() failed";
+ return false;
+ } else if (H5G_STORAGE_TYPE_COMPACT != grp_info.storage_type) {
+ failure_mssg =
+ "vrfy_ns_grp_c: H5G_STORAGE_TYPE_COMPACT != grp_info.storage_type";
+ return false;
+ } else if (nlinks != grp_info.nlinks) {
+ failure_mssg = "vrfy_ns_grp_c: nlinks != grp_info.nlinks";
+ return false;
+ } else if (nlinks != grp_info.max_corder) {
+ failure_mssg = "vrfy_ns_grp_c: nlinks != grp_info.max_corder";
+ return false;
+ } else if ( FALSE != grp_info.mounted) {
+ failure_mssg = "vrfy_ns_grp_c: FALSE != grp_info.mounted";
+ return false;
}
- u = 0;
- while ((pass) && (u < nlinks)) {
+
+ for (u = 0; u < nlinks; u++) {
H5L_info_t lnk_info;
char linkname[16];
htri_t link_exists;
@@ -487,96 +384,78 @@ vrfy_ns_grp_c(hid_t fid, const char *group_name, unsigned nlinks) {
link_exists = H5Lexists(gid, linkname, H5P_DEFAULT);
if (link_exists < 0) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_c: H5Lexists() failed";
+ return false;
}
- HDassert(link_exists >= 0);
HDmemset(&lnk_info, 0, sizeof(grp_info));
ret = H5Lget_info(gid, linkname, &lnk_info, H5P_DEFAULT);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_c: H5Lget_info() failed";
- }
- else if ( TRUE != lnk_info.corder_valid) {
- pass = FALSE;
+ return false;
+ } else if ( TRUE != lnk_info.corder_valid) {
failure_mssg = "vrfy_ns_grp_c: TRUE != lnk_info.corder_valid";
- }
- else if (u != lnk_info.corder) {
- pass = FALSE;
+ return false;
+ } else if (u != lnk_info.corder) {
failure_mssg = "vrfy_ns_grp_c: u != lnk_info.corder";
- }
- else if (H5T_CSET_ASCII != lnk_info.cset) {
- pass = FALSE;
+ return false;
+ } else if (H5T_CSET_ASCII != lnk_info.cset) {
failure_mssg = "vrfy_ns_grp_c: H5T_CSET_ASCII != lnk_info.cset";
+ return false;
}
- HDassert(ret >= 0);
- HDassert(true == lnk_info.corder_valid);
- HDassert(u == lnk_info.corder);
- HDassert(H5T_CSET_ASCII == lnk_info.cset);
if (0 == (u % 3)) {
char *slinkval;
if (H5L_TYPE_SOFT != lnk_info.type) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_c: H5L_TYPE_SOFT != lnk_info.type";
+ return false;
}
else if ((HDstrlen(group_name) + 1) != lnk_info.u.val_size) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_c: (HDstrlen(group_name) + 1) != lnk_info.u.val_size";
+ return false;
}
- HDassert(H5L_TYPE_SOFT == lnk_info.type);
- HDassert((HDstrlen(group_name) + 1) == lnk_info.u.val_size);
- slinkval = (char *) HDmalloc(lnk_info.u.val_size);
+ slinkval = HDmalloc(lnk_info.u.val_size);
if (!slinkval) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_c: HDmalloc of slinkval failed";
+ return false;
}
- HDassert(slinkval);
ret = H5Lget_val(gid, linkname, slinkval, lnk_info.u.val_size,
H5P_DEFAULT);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_c: H5Lget_val() failed";
- }
- else if (0 != HDstrcmp(slinkval, group_name)) {
- pass = FALSE;
+ HDfree(slinkval);
+ return false;
+ } else if (0 != HDstrcmp(slinkval, group_name)) {
failure_mssg = "vrfy_ns_grp_c: 0 != HDstrcmp(slinkval, group_name)";
+ HDfree(slinkval);
+ return false;
}
- HDassert(ret >= 0);
- HDassert(0 == HDstrcmp(slinkval, group_name));
HDfree(slinkval);
- } /* end if */
- else if (1 == (u % 3)) {
+ } else if (1 == (u % 3)) {
H5O_info_t root_oinfo;
if (H5L_TYPE_HARD != lnk_info.type) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_c: H5L_TYPE_HARD != lnk_info.type";
+ return false;
}
- HDassert(H5L_TYPE_HARD == lnk_info.type);
HDmemset(&root_oinfo, 0, sizeof(root_oinfo));
ret = H5Oget_info2(fid, &root_oinfo, H5O_INFO_BASIC);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_c: H5Oget_info() failed.";
- }
- else if (root_oinfo.addr != lnk_info.u.address) {
- pass = FALSE;
+ return false;
+ } else if (root_oinfo.addr != lnk_info.u.address) {
failure_mssg = "vrfy_ns_grp_c: root_oinfo.addr != lnk_info.u.address";
+ return false;
}
- HDassert(ret >= 0);
- HDassert(root_oinfo.addr == lnk_info.u.address);
- } /* end else-if */
- else {
+ } else {
void *elinkval;
const char *file = NULL;
const char *path = NULL;
@@ -584,61 +463,53 @@ vrfy_ns_grp_c(hid_t fid, const char *group_name, unsigned nlinks) {
HDassert(2 == (u % 3));
if (H5L_TYPE_EXTERNAL != lnk_info.type) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_c: H5L_TYPE_EXTERNAL != lnk_info.type";
+ failure_mssg =
+ "vrfy_ns_grp_c: H5L_TYPE_EXTERNAL != lnk_info.type";
+ return false;
}
- HDassert(H5L_TYPE_EXTERNAL == lnk_info.type);
elinkval = HDmalloc(lnk_info.u.val_size);
if (!elinkval) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_c: HDmalloc of elinkval failed.";
+ return false;
}
- HDassert(elinkval);
ret = H5Lget_val(gid, linkname, elinkval, lnk_info.u.val_size,
H5P_DEFAULT);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_c: H5Lget_val() failed.";
+ return false;
}
- HDassert(ret >= 0);
- ret = H5Lunpack_elink_val(elinkval, lnk_info.u.val_size, NULL, &file, &path);
+ ret = H5Lunpack_elink_val(elinkval, lnk_info.u.val_size, NULL,
+ &file, &path);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_c: H5Lunpack_elink_val() failed.";
- }
- else if (0 != HDstrcmp(file, "external.h5")) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_c: 0 != HDstrcmp(file, \"external.h5\")";
- }
- else if (0 != HDstrcmp(path, "/ext")) {
- pass = FALSE;
+ HDfree(elinkval);
+ return false;
+ } else if (0 != HDstrcmp(file, "external.h5")) {
+ failure_mssg =
+ "vrfy_ns_grp_c: 0 != HDstrcmp(file, \"external.h5\")";
+ HDfree(elinkval);
+ return false;
+ } else if (0 != HDstrcmp(path, "/ext")) {
failure_mssg = "vrfy_ns_grp_c: 0 != HDstrcmp(path, \"/ext\")";
+ HDfree(elinkval);
+ return false;
}
- HDassert(ret >= 0);
- HDassert(0 == HDstrcmp(file, "external.h5"));
- HDassert(0 == HDstrcmp(path, "/ext"));
-
HDfree(elinkval);
- } /* end else */
-
- u++;
- } /* end while */
+ }
+ }
- if (pass) {
- ret = H5Gclose(gid);
+ ret = H5Gclose(gid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_c: H5Gclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ns_grp_c: H5Gclose() failed.";
+ return false;
}
- return;
+ return true;
} /* vrfy_ns_grp_c() */
@@ -648,12 +519,10 @@ vrfy_ns_grp_c(hid_t fid, const char *group_name, unsigned nlinks) {
* Purpose: Create a dense "new style" group, with 'nlinks'
* (soft/hard/external) links in it in the specified file.
*
- * If pass is false on entry, do nothing.
- *
- * If an error is detected, set pass to FALSE, and set
+ * If an error is detected, return false, and set
* failure_mssg to point to an appropriate error message.
*
- * Return: void
+ * Return: true on success, false on failure.
*
* Programmer: John Mainzer
* 9/14/15
@@ -661,62 +530,49 @@ vrfy_ns_grp_c(hid_t fid, const char *group_name, unsigned nlinks) {
*-------------------------------------------------------------------------
*/
-void
-ns_grp_d(hid_t fid, const char *group_name, unsigned nlinks) {
+bool
+ns_grp_d(hid_t fid, const char *group_name, unsigned nlinks)
+{
hid_t gid = -1;
hid_t gcpl = -1;
unsigned max_compact;
unsigned u;
herr_t ret;
- if (pass) {
- gcpl = H5Pcreate(H5P_GROUP_CREATE);
+ gcpl = H5Pcreate(H5P_GROUP_CREATE);
- if (gcpl <= 0) {
- pass = FALSE;
- failure_mssg = "ns_grp_d: H5Pcreate() failed.";
- }
- HDassert(gcpl > 0);
+ if (gcpl <= 0) {
+ failure_mssg = "ns_grp_d: H5Pcreate() failed.";
+ return false;
}
- if (pass) {
- ret = H5Pset_link_creation_order(gcpl, H5P_CRT_ORDER_TRACKED);
+ ret = H5Pset_link_creation_order(gcpl, H5P_CRT_ORDER_TRACKED);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ns_grp_d: H5Pset_link_creation_order() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "ns_grp_d: H5Pset_link_creation_order() failed.";
+ return false;
}
- if (pass) {
- gid = H5Gcreate2(fid, group_name, H5P_DEFAULT, gcpl, H5P_DEFAULT);
+ gid = H5Gcreate2(fid, group_name, H5P_DEFAULT, gcpl, H5P_DEFAULT);
- if (gid <= 0) {
- pass = FALSE;
- failure_mssg = "ns_grp_d: H5Gcreate2() failed.";
- }
- HDassert(gid > 0);
+ if (gid <= 0) {
+ failure_mssg = "ns_grp_d: H5Gcreate2() failed.";
+ return false;
}
- if (pass) {
- max_compact = 0;
- ret = H5Pget_link_phase_change(gcpl, &max_compact, NULL);
+ max_compact = 0;
+ ret = H5Pget_link_phase_change(gcpl, &max_compact, NULL);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ns_grp_d: H5Pget_link_phase_change() failed.";
- }
- else if (nlinks <= max_compact) {
- pass = FALSE;
- failure_mssg = "ns_grp_d: nlinks <= max_compact";
- }
- HDassert(ret >= 0);
- HDassert(nlinks > max_compact);
+ if (ret < 0) {
+ failure_mssg = "ns_grp_d: H5Pget_link_phase_change() failed.";
+ return false;
+ }
+ else if (nlinks <= max_compact) {
+ failure_mssg = "ns_grp_d: nlinks <= max_compact";
+ return false;
}
- u = 0;
- while ((pass) && (u < nlinks)) {
+ for (u = 0; u < nlinks; u++) {
char linkname[16];
HDsprintf(linkname, "%u", u);
@@ -726,58 +582,45 @@ ns_grp_d(hid_t fid, const char *group_name, unsigned nlinks) {
H5P_DEFAULT, H5P_DEFAULT);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "ns_grp_d: H5Lcreate_soft() failed.";
+ return false;
}
- HDassert(ret >= 0);
- } /* end if */
- else if (1 == (u % 3)) {
+ } else if (1 == (u % 3)) {
ret = H5Lcreate_hard(fid, "/", gid, linkname,
H5P_DEFAULT, H5P_DEFAULT);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "ns_grp_d: H5Lcreate_hard() failed.";
+ return false;
}
- HDassert(ret >= 0);
- } /* end else-if */
- else {
+ } else {
HDassert(2 == (u % 3));
ret = H5Lcreate_external("external.h5", "/ext", gid, linkname,
H5P_DEFAULT, H5P_DEFAULT);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "ns_grp_d: H5Lcreate_external() failed.";
+ return false;
}
- HDassert(ret >= 0);
- } /* end else */
-
- u++;
- } /* end while */
+ }
+ }
- if (pass) {
- ret = H5Pclose(gcpl);
+ ret = H5Pclose(gcpl);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ns_grp_d: H5Pclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "ns_grp_d: H5Pclose() failed.";
+ return false;
}
- if (pass) {
- ret = H5Gclose(gid);
+ ret = H5Gclose(gid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ns_grp_d: H5Gclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "ns_grp_d: H5Gclose() failed.";
+ return false;
}
- return;
+ return true;
} /* ns_grp_d() */
@@ -787,12 +630,10 @@ ns_grp_d(hid_t fid, const char *group_name, unsigned nlinks) {
* Purpose: Verify a dense "new style" group, with 'nlinks'
* soft/hard/external links in it in the specified file.
*
- * If pass is false on entry, do nothing.
- *
- * If an error is detected, set pass to FALSE, and set
+ * If an error is detected, return false, and set
* failure_mssg to point to an appropriate error message.
*
- * Return: void
+ * Return: true on success, false on failure.
*
* Programmer: John Mainzer
* 9/14/15
@@ -801,8 +642,9 @@ ns_grp_d(hid_t fid, const char *group_name, unsigned nlinks) {
*/
-void
-vrfy_ns_grp_d(hid_t fid, const char *group_name, unsigned nlinks) {
+bool
+vrfy_ns_grp_d(hid_t fid, const char *group_name, unsigned nlinks)
+{
hid_t gid = -1;
hid_t gcpl = -1;
H5G_info_t grp_info;
@@ -810,84 +652,59 @@ vrfy_ns_grp_d(hid_t fid, const char *group_name, unsigned nlinks) {
unsigned u;
herr_t ret;
- if (pass) {
- gid = H5Gopen2(fid, group_name, H5P_DEFAULT);
+ gid = H5Gopen2(fid, group_name, H5P_DEFAULT);
- if (gid <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_d: H5Gopen2() failed.";
- }
- HDassert(gid > 0);
+ if (gid <= 0) {
+ failure_mssg = "vrfy_ns_grp_d: H5Gopen2() failed.";
+ return false;
}
- if (pass) {
- gcpl = H5Gget_create_plist(gid);
+ gcpl = H5Gget_create_plist(gid);
- if (gcpl <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_d: H5Gget_create_plist() failed.";
- }
- HDassert(gcpl > 0);
+ if (gcpl <= 0) {
+ failure_mssg = "vrfy_ns_grp_d: H5Gget_create_plist() failed.";
+ return false;
}
- if (pass) {
- ret = H5Pget_link_creation_order(gcpl, &crt_order_flags);
+ ret = H5Pget_link_creation_order(gcpl, &crt_order_flags);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_d: H5Pget_link_creation_order() failed.";
- }
- else if (H5P_CRT_ORDER_TRACKED != crt_order_flags) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_d: H5P_CRT_ORDER_TRACKED != crt_order_flags";
- }
- HDassert(ret >= 0);
- HDassert(H5P_CRT_ORDER_TRACKED == crt_order_flags);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ns_grp_d: H5Pget_link_creation_order() failed.";
+ return false;
+ } else if (H5P_CRT_ORDER_TRACKED != crt_order_flags) {
+ failure_mssg =
+ "vrfy_ns_grp_d: H5P_CRT_ORDER_TRACKED != crt_order_flags";
+ return false;
}
- if (pass) {
- ret = H5Pclose(gcpl);
+ ret = H5Pclose(gcpl);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_d: H5Pclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ns_grp_d: H5Pclose() failed.";
+ return false;
}
- if (pass) {
- HDmemset(&grp_info, 0, sizeof(grp_info));
- ret = H5Gget_info(gid, &grp_info);
+ HDmemset(&grp_info, 0, sizeof(grp_info));
+ ret = H5Gget_info(gid, &grp_info);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_d: H5Gget_info() failed.";
- }
- else if (H5G_STORAGE_TYPE_DENSE != grp_info.storage_type) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_d: H5G_STORAGE_TYPE_DENSE != grp_info.storage_type";
- }
- else if (nlinks != grp_info.nlinks) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_d: nlinks != grp_info.nlinks";
- }
- else if (nlinks != grp_info.max_corder) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_d: nlinks != grp_info.max_corder";
- }
- else if ( FALSE != grp_info.mounted) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_d: FALSE != grp_info.mounted";
- }
- HDassert(ret >= 0);
- HDassert(H5G_STORAGE_TYPE_DENSE == grp_info.storage_type);
- HDassert(nlinks == grp_info.nlinks);
- HDassert(nlinks == grp_info.max_corder);
- HDassert(false == grp_info.mounted);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ns_grp_d: H5Gget_info() failed.";
+ return false;
+ } else if (H5G_STORAGE_TYPE_DENSE != grp_info.storage_type) {
+ failure_mssg = "vrfy_ns_grp_d: H5G_STORAGE_TYPE_DENSE != grp_info.storage_type";
+ return false;
+ } else if (nlinks != grp_info.nlinks) {
+ failure_mssg = "vrfy_ns_grp_d: nlinks != grp_info.nlinks";
+ return false;
+ } else if (nlinks != grp_info.max_corder) {
+ failure_mssg = "vrfy_ns_grp_d: nlinks != grp_info.max_corder";
+ return false;
+ } else if ( FALSE != grp_info.mounted) {
+ failure_mssg = "vrfy_ns_grp_d: FALSE != grp_info.mounted";
+ return false;
}
- u = 0;
- while ((pass) && (u < nlinks)) {
+ for (u = 0; u < nlinks; u++) {
H5L_info_t lnk_info;
char linkname[16];
htri_t link_exists;
@@ -896,95 +713,76 @@ vrfy_ns_grp_d(hid_t fid, const char *group_name, unsigned nlinks) {
link_exists = H5Lexists(gid, linkname, H5P_DEFAULT);
if (link_exists < 0) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_d: H5Lexists() failed.";
+ return false;
}
- HDassert(link_exists >= 0);
HDmemset(&lnk_info, 0, sizeof(grp_info));
ret = H5Lget_info(gid, linkname, &lnk_info, H5P_DEFAULT);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_d: H5Lget_info() failed.";
- }
- else if (TRUE != lnk_info.corder_valid) {
- pass = FALSE;
+ return false;
+ } else if (TRUE != lnk_info.corder_valid) {
failure_mssg = "vrfy_ns_grp_d: TRUE != lnk_info.corder_valid";
- }
- else if (u != lnk_info.corder) {
- pass = FALSE;
+ return false;
+ } else if (u != lnk_info.corder) {
failure_mssg = "vrfy_ns_grp_d: u != lnk_info.corder";
- }
- else if (H5T_CSET_ASCII != lnk_info.cset) {
- pass = FALSE;
+ return false;
+ } else if (H5T_CSET_ASCII != lnk_info.cset) {
failure_mssg = "vrfy_ns_grp_d: H5T_CSET_ASCII != lnk_info.cset";
+ return false;
}
- HDassert(ret >= 0);
- HDassert(true == lnk_info.corder_valid);
- HDassert(u == lnk_info.corder);
- HDassert(H5T_CSET_ASCII == lnk_info.cset);
if (0 == (u % 3)) {
char *slinkval;
if (H5L_TYPE_SOFT != lnk_info.type) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_d: H5L_TYPE_SOFT != lnk_info.type";
+ return false;
}
else if ((HDstrlen(group_name) + 1) != lnk_info.u.val_size) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_d: H5L_TYPE_SOFT != lnk_info.type";
+ return false;
}
- HDassert(H5L_TYPE_SOFT == lnk_info.type);
- HDassert((HDstrlen(group_name) + 1) == lnk_info.u.val_size);
- slinkval = (char *) HDmalloc(lnk_info.u.val_size);
+ slinkval = HDmalloc(lnk_info.u.val_size);
if (!slinkval) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_d: HDmalloc of slinkval failed";
+ return false;
}
- HDassert(slinkval);
ret = H5Lget_val(gid, linkname, slinkval, lnk_info.u.val_size,
- H5P_DEFAULT);
+ H5P_DEFAULT);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_d: H5Lget_val() failed";
- }
- else if (0 != HDstrcmp(slinkval, group_name)) {
- pass = FALSE;
+ HDfree(slinkval);
+ return false;
+ } else if (0 != HDstrcmp(slinkval, group_name)) {
failure_mssg = "vrfy_ns_grp_d: 0 != HDstrcmp(slinkval, group_name)";
+ HDfree(slinkval);
+ return false;
}
- HDassert(ret >= 0);
- HDassert(0 == HDstrcmp(slinkval, group_name));
-
HDfree(slinkval);
- } /* end if */
- else if (1 == (u % 3)) {
+ } else if (1 == (u % 3)) {
H5O_info_t root_oinfo;
if (H5L_TYPE_HARD != lnk_info.type) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_d: H5L_TYPE_HARD != lnk_info.type";
+ return false;
}
- HDassert(H5L_TYPE_HARD == lnk_info.type);
HDmemset(&root_oinfo, 0, sizeof(root_oinfo));
ret = H5Oget_info2(fid, &root_oinfo, H5O_INFO_BASIC);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_d: H5Oget_info() failed.";
- }
- else if (root_oinfo.addr != lnk_info.u.address) {
- pass = FALSE;
+ return false;
+ } else if (root_oinfo.addr != lnk_info.u.address) {
failure_mssg = "vrfy_ns_grp_d: root_oinfo.addr != lnk_info.u.address";
+ return false;
}
- HDassert(ret >= 0);
- HDassert(root_oinfo.addr == lnk_info.u.address);
- } /* end else-if */
- else {
+ } else {
void *elinkval;
const char *file = NULL;
const char *path = NULL;
@@ -992,61 +790,53 @@ vrfy_ns_grp_d(hid_t fid, const char *group_name, unsigned nlinks) {
HDassert(2 == (u % 3));
if (H5L_TYPE_EXTERNAL != lnk_info.type) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_d: H5L_TYPE_EXTERNAL != lnk_info.type";
+ failure_mssg =
+ "vrfy_ns_grp_d: H5L_TYPE_EXTERNAL != lnk_info.type";
+ return false;
}
- HDassert(H5L_TYPE_EXTERNAL == lnk_info.type);
elinkval = HDmalloc(lnk_info.u.val_size);
if (!elinkval) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_d: HDmalloc of elinkval failed.";
+ return false;
}
- HDassert(elinkval);
ret = H5Lget_val(gid, linkname, elinkval, lnk_info.u.val_size,
- H5P_DEFAULT);
+ H5P_DEFAULT);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_d: H5Lget_val failed.";
+ return false;
}
- HDassert(ret >= 0);
- ret = H5Lunpack_elink_val(elinkval, lnk_info.u.val_size, NULL, &file, &path);
+ ret = H5Lunpack_elink_val(elinkval, lnk_info.u.val_size, NULL,
+ &file, &path);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "vrfy_ns_grp_d: H5Lunpack_elink_val failed.";
- }
- else if (0 != HDstrcmp(file, "external.h5")) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_d: 0 != HDstrcmp(file, \"external.h5\").";
- }
- else if (0 != HDstrcmp(path, "/ext")) {
- pass = FALSE;
+ HDfree(elinkval);
+ return false;
+ } else if (0 != HDstrcmp(file, "external.h5")) {
+ failure_mssg =
+ "vrfy_ns_grp_d: 0 != HDstrcmp(file, \"external.h5\").";
+ HDfree(elinkval);
+ return false;
+ } else if (0 != HDstrcmp(path, "/ext")) {
failure_mssg = "vrfy_ns_grp_d: 0 != HDstrcmp(path, \"/ext\")";
+ HDfree(elinkval);
+ return false;
}
- HDassert(ret >= 0);
- HDassert(0 == HDstrcmp(file, "external.h5"));
- HDassert(0 == HDstrcmp(path, "/ext"));
-
HDfree(elinkval);
- } /* end else */
-
- u++;
- } /* end while() */
+ }
+ }
- if (pass) {
- ret = H5Gclose(gid);
+ ret = H5Gclose(gid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ns_grp_d: H5Gclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ns_grp_d: H5Gclose() failed.";
+ return false;
}
- return;
+ return true;
} /* vrfy_ns_grp_d() */
@@ -1056,12 +846,10 @@ vrfy_ns_grp_d(hid_t fid, const char *group_name, unsigned nlinks) {
*
* Purpose: Create an empty "old style" group.
*
- * If pass is false on entry, do nothing.
- *
- * If an error is detected, set pass to FALSE, and set
+ * If an error is detected, return false, and set
* failure_mssg to point to an appropriate error message.
*
- * Return: void
+ * Return: true on success, false on failure.
*
* Programmer: John Mainzer
* 9/14/15
@@ -1069,7 +857,7 @@ vrfy_ns_grp_d(hid_t fid, const char *group_name, unsigned nlinks) {
*-------------------------------------------------------------------------
*/
-void
+bool
os_grp_0(hid_t fid, const char *group_name)
{
hid_t gid = -1;
@@ -1078,66 +866,52 @@ os_grp_0(hid_t fid, const char *group_name)
herr_t ret;
- if ( pass ) { /* get the file's file access property list */
- fapl = H5Fget_access_plist(fid);
- if ( fapl <= 0 ) {
- pass = FALSE;
- failure_mssg = "os_grp_0: H5Fget_access_plist() failed.";
- }
- HDassert(fapl > 0);
+ /* get the file's file access property list */
+ fapl = H5Fget_access_plist(fid);
+ if ( fapl <= 0 ) {
+ failure_mssg = "os_grp_0: H5Fget_access_plist() failed.";
+ return false;
}
- if ( pass ) { /* get low and high bounds from fapl */
- ret = H5Pget_libver_bounds(fapl, &low, &high);
- if ( ret < 0 ) {
- pass = FALSE;
- failure_mssg = "os_grp_0: H5Pget_libver_bounds() failed(1).";
- }
- HDassert(ret >= 0);
+ /* get low and high bounds from fapl */
+ ret = H5Pget_libver_bounds(fapl, &low, &high);
+ if ( ret < 0 ) {
+ failure_mssg = "os_grp_0: H5Pget_libver_bounds() failed(1).";
+ return false;
}
- if ( pass ) { /* turn file format latest off */
- if(low >= H5F_LIBVER_V18) {
- ret = H5Fset_libver_bounds(fid, H5F_LIBVER_EARLIEST, high);
- if ( ret < 0 ) {
- pass = FALSE;
- failure_mssg = "os_grp_0: H5Fset_libver_bounds() failed(1).";
- }
- HDassert(ret >= 0);
+ /* turn file format latest off */
+ if(low >= H5F_LIBVER_V18) {
+ ret = H5Fset_libver_bounds(fid, H5F_LIBVER_EARLIEST, high);
+ if ( ret < 0 ) {
+ failure_mssg = "os_grp_0: H5Fset_libver_bounds() failed(1).";
+ return false;
}
}
- if ( pass ) {
- gid = H5Gcreate2(fid, group_name, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- if ( gid <= 0 ) {
- pass = FALSE;
- failure_mssg = "os_grp_0: H5Gcreate2() failed.";
- }
- HDassert(gid > 0);
+ gid = H5Gcreate2(fid, group_name, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+ if ( gid <= 0 ) {
+ failure_mssg = "os_grp_0: H5Gcreate2() failed.";
+ return false;
}
- if ( pass ) {
- ret = H5Gclose(gid);
+ ret = H5Gclose(gid);
- if ( ret < 0 ) {
- pass = FALSE;
- failure_mssg = "os_grp_0: H5Gclose() failed.";
- }
- HDassert(ret >= 0);
+ if ( ret < 0 ) {
+ failure_mssg = "os_grp_0: H5Gclose() failed.";
+ return false;
}
- if ( pass ) { /* restore low and high bounds */
- if(low >= H5F_LIBVER_V18) {
- ret = H5Fset_libver_bounds(fid, low, high);
- if ( ret < 0 ) {
- pass = FALSE;
- failure_mssg = "os_grp_0: H5Fset_libver_bounds() failed(1).";
- }
- HDassert(ret >= 0);
+ /* restore low and high bounds */
+ if(low >= H5F_LIBVER_V18) {
+ ret = H5Fset_libver_bounds(fid, low, high);
+ if ( ret < 0 ) {
+ failure_mssg = "os_grp_0: H5Fset_libver_bounds() failed(1).";
+ return false;
}
}
- return;
+ return true;
} /* os_grp_0() */
@@ -1146,12 +920,10 @@ os_grp_0(hid_t fid, const char *group_name)
*
* Purpose: Validate an empty "old style" group.
*
- * If pass is false on entry, do nothing.
- *
- * If an error is detected, set pass to FALSE, and set
+ * If an error is detected, return false, and set
* failure_mssg to point to an appropriate error message.
*
- * Return: void
+ * Return: true on success, false on failure.
*
* Programmer: John Mainzer
* 9/14/15
@@ -1159,102 +931,74 @@ os_grp_0(hid_t fid, const char *group_name)
*-------------------------------------------------------------------------
*/
-void
-vrfy_os_grp_0(hid_t fid, const char *group_name) {
+bool
+vrfy_os_grp_0(hid_t fid, const char *group_name)
+{
hid_t gid = -1;
hid_t gcpl = -1;
H5G_info_t grp_info;
unsigned crt_order_flags = 0;
herr_t ret;
- if (pass) {
- gid = H5Gopen2(fid, group_name, H5P_DEFAULT);
+ gid = H5Gopen2(fid, group_name, H5P_DEFAULT);
- if (gid <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_0: H5Gopen2() failed.";
- }
- HDassert(gid > 0);
+ if (gid <= 0) {
+ failure_mssg = "vrfy_os_grp_0: H5Gopen2() failed.";
+ return false;
}
- if (pass) {
- gcpl = H5Gget_create_plist(gid);
+ gcpl = H5Gget_create_plist(gid);
- if (gcpl <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_0: H5Gget_create_plist() failed.";
- }
- HDassert(gcpl > 0);
+ if (gcpl <= 0) {
+ failure_mssg = "vrfy_os_grp_0: H5Gget_create_plist() failed.";
+ return false;
}
- if (pass) {
+ ret = H5Pget_link_creation_order(gcpl, &crt_order_flags);
- ret = H5Pget_link_creation_order(gcpl, &crt_order_flags);
-
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_0: H5Pget_link_creation_order() failed";
- }
- else if (0 != crt_order_flags) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_0: 0 != crt_order_flags";
- }
- HDassert(ret >= 0);
- HDassert(0 == crt_order_flags);
+ if (ret < 0) {
+ failure_mssg = "vrfy_os_grp_0: H5Pget_link_creation_order() failed";
+ return false;
+ } else if (0 != crt_order_flags) {
+ failure_mssg = "vrfy_os_grp_0: 0 != crt_order_flags";
+ return false;
}
- if (pass) {
- ret = H5Pclose(gcpl);
+ ret = H5Pclose(gcpl);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_0: H5Pclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_os_grp_0: H5Pclose() failed.";
+ return false;
}
- if (pass) {
- HDmemset(&grp_info, 0, sizeof(grp_info));
- ret = H5Gget_info(gid, &grp_info);
+ HDmemset(&grp_info, 0, sizeof(grp_info));
+ ret = H5Gget_info(gid, &grp_info);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_0: H5Gget_info() failed.";
- }
- else if (H5G_STORAGE_TYPE_SYMBOL_TABLE != grp_info.storage_type) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_0: H5G_STORAGE_TYPE_SYMBOL_TABLE != grp_info.storage_type";
- }
- else if (0 != grp_info.nlinks) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_0: 0 != grp_info.nlinks";
- }
- else if (0 != grp_info.max_corder) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_0: 0 != grp_info.max_corder";
- }
- else if ( FALSE != grp_info.mounted) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_0: FALSE != grp_info.mounted";
- }
- HDassert(ret >= 0);
- HDassert(H5G_STORAGE_TYPE_SYMBOL_TABLE == grp_info.storage_type);
- HDassert(0 == grp_info.nlinks);
- HDassert(0 == grp_info.max_corder);
- HDassert(false == grp_info.mounted);
+ if (ret < 0) {
+ failure_mssg = "vrfy_os_grp_0: H5Gget_info() failed.";
+ return false;
+ } else if (H5G_STORAGE_TYPE_SYMBOL_TABLE != grp_info.storage_type) {
+ failure_mssg = "vrfy_os_grp_0: H5G_STORAGE_TYPE_SYMBOL_TABLE != grp_info.storage_type";
+ return false;
+ } else if (0 != grp_info.nlinks) {
+ failure_mssg = "vrfy_os_grp_0: 0 != grp_info.nlinks";
+ return false;
+ } else if (0 != grp_info.max_corder) {
+ failure_mssg = "vrfy_os_grp_0: 0 != grp_info.max_corder";
+ return false;
+ } else if ( FALSE != grp_info.mounted) {
+ failure_mssg = "vrfy_os_grp_0: FALSE != grp_info.mounted";
+ return false;
}
- if (pass) {
- ret = H5Gclose(gid);
+ ret = H5Gclose(gid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_0: H5Gclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_os_grp_0: H5Gclose() failed.";
+ return false;
}
- return;
+ return true;
} /* vrfy_os_grp_0() */
@@ -1264,12 +1008,10 @@ vrfy_os_grp_0(hid_t fid, const char *group_name) {
* Purpose: Create an "old style" group, with 'nlinks' soft/hard
* links in it.
*
- * If pass is false on entry, do nothing.
- *
- * If an error is detected, set pass to FALSE, and set
+ * If an error is detected, return false, and set
* failure_mssg to point to an appropriate error message.
*
- * Return: void
+ * Return: true on success, false on failure.
*
* Programmer: John Mainzer
* 9/14/15
@@ -1277,7 +1019,7 @@ vrfy_os_grp_0(hid_t fid, const char *group_name) {
*-------------------------------------------------------------------------
*/
-void
+bool
os_grp_n(hid_t fid, const char *group_name, int proc_num, unsigned nlinks)
{
hid_t gid = -1;
@@ -1286,48 +1028,38 @@ os_grp_n(hid_t fid, const char *group_name, int proc_num, unsigned nlinks)
H5F_libver_t low, high;
herr_t ret;
- if ( pass ) { /* get the file's file access property list */
- fapl = H5Fget_access_plist(fid);
- if ( fapl <= 0 ) {
- pass = FALSE;
- failure_mssg = "os_grp_n: H5Fget_access_plist() failed.";
- }
- HDassert(fapl > 0);
+ /* get the file's file access property list */
+ fapl = H5Fget_access_plist(fid);
+ if ( fapl <= 0 ) {
+ failure_mssg = "os_grp_n: H5Fget_access_plist() failed.";
+ return false;
}
- if ( pass ) { /* get low and high bounds from fapl */
- ret = H5Pget_libver_bounds(fapl, &low, &high);
- if ( ret < 0 ) {
- pass = FALSE;
- failure_mssg = "os_grp_0: H5Pget_libver_bounds() failed(1).";
- }
- HDassert(ret >= 0);
+ /* get low and high bounds from fapl */
+ ret = H5Pget_libver_bounds(fapl, &low, &high);
+ if ( ret < 0 ) {
+ failure_mssg = "os_grp_0: H5Pget_libver_bounds() failed(1).";
+ return false;
}
- if ( pass ) { /* turn file format latest off */
- if(low >= H5F_LIBVER_V18) {
- ret = H5Fset_libver_bounds(fid, H5F_LIBVER_EARLIEST, high);
- if ( ret < 0 ) {
- pass = FALSE;
- failure_mssg = "os_grp_0: H5Fset_libver_bounds() failed(1).";
- }
- HDassert(ret >= 0);
+ /* turn file format latest off */
+ if(low >= H5F_LIBVER_V18) {
+ ret = H5Fset_libver_bounds(fid, H5F_LIBVER_EARLIEST, high);
+ if ( ret < 0 ) {
+ failure_mssg = "os_grp_0: H5Fset_libver_bounds() failed(1).";
+ return false;
}
}
- if ( pass ) {
- gid = H5Gcreate2(fid, group_name, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- if ( gid <= 0 ) {
- pass = FALSE;
- failure_mssg = "os_grp_n: H5Gcreate2() failed.";
- }
- HDassert(gid > 0);
+ gid = H5Gcreate2(fid, group_name, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+ if ( gid <= 0 ) {
+ failure_mssg = "os_grp_n: H5Gcreate2() failed.";
+ return false;
}
HDassert(nlinks > 0);
- u = 0;
- while ( ( pass ) && ( u < nlinks ) ) {
+ for (u = 0; u < nlinks; u++) {
char linkname[32];
HDsprintf(linkname, "ln%d_%u", proc_num, u);
@@ -1335,47 +1067,37 @@ os_grp_n(hid_t fid, const char *group_name, int proc_num, unsigned nlinks)
if(0 == (u % 2)) {
ret = H5Lcreate_soft(group_name, gid, linkname, H5P_DEFAULT, H5P_DEFAULT);
if ( ret < 0 ) {
- pass = FALSE;
failure_mssg = "os_grp_n: H5Lcreate_soft() failed.";
+ return false;
}
- HDassert(ret >= 0);
- } /* end if */
- else {
+ } else {
HDassert(1 == (u % 2));
ret = H5Lcreate_hard(fid, "/", gid, linkname, H5P_DEFAULT, H5P_DEFAULT);
if ( ret < 0 ) {
- pass = FALSE;
failure_mssg = "os_grp_n: H5Lcreate_hard() failed.";
+ return false;
}
- HDassert(ret >= 0);
- } /* end else */
-
- u++;
- } /* end while */
+ }
+ }
- if ( pass ) {
- ret = H5Gclose(gid);
+ ret = H5Gclose(gid);
- if ( ret < 0 ) {
- pass = FALSE;
- failure_mssg = "os_grp_n: H5Gclose() failed.";
- }
- HDassert(ret >= 0);
+ if ( ret < 0 ) {
+ failure_mssg = "os_grp_n: H5Gclose() failed.";
+ return false;
}
- if ( pass ) { /* restore low and high bounds */
- if(low >= H5F_LIBVER_V18) {
- ret = H5Fset_libver_bounds(fid, low, high);
- if ( ret < 0 ) {
- pass = FALSE;
- failure_mssg = "os_grp_n: H5Fset_libver_bounds() failed(2).";
- }
- HDassert(ret >= 0);
+ /* restore low and high bounds */
+ if(low >= H5F_LIBVER_V18) {
+ ret = H5Fset_libver_bounds(fid, low, high);
+ if ( ret < 0 ) {
+ failure_mssg = "os_grp_n: H5Fset_libver_bounds() failed(2).";
+ return false;
}
}
- return;
+ return true;
} /* os_grp_n() */
@@ -1385,21 +1107,19 @@ os_grp_n(hid_t fid, const char *group_name, int proc_num, unsigned nlinks)
* Purpose: Validate an "old style" group with 'nlinks' soft/hard
* links in it.
*
- * If pass is false on entry, do nothing.
- *
- * If an error is detected, set pass to FALSE, and set
+ * If an error is detected, return false, and set
* failure_mssg to point to an appropriate error message.
*
- * Return: void
+ * Return: true on success, false on failure.
*
* Programmer: John Mainzer
* 9/14/15
*
*-------------------------------------------------------------------------
*/
-void
-vrfy_os_grp_n(hid_t fid, const char *group_name, int proc_num,
- unsigned nlinks) {
+bool
+vrfy_os_grp_n(hid_t fid, const char *group_name, int proc_num, unsigned nlinks)
+{
hid_t gid = -1;
hid_t gcpl = -1;
H5G_info_t grp_info;
@@ -1407,85 +1127,60 @@ vrfy_os_grp_n(hid_t fid, const char *group_name, int proc_num,
unsigned u;
herr_t ret;
- if (pass) {
- gid = H5Gopen2(fid, group_name, H5P_DEFAULT);
+ gid = H5Gopen2(fid, group_name, H5P_DEFAULT);
- if (gid <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_n: H5Gopen2() failed";
- }
- HDassert(gid > 0);
+ if (gid <= 0) {
+ failure_mssg = "vrfy_os_grp_n: H5Gopen2() failed";
+ return false;
}
- if (pass) {
- gcpl = H5Gget_create_plist(gid);
+ gcpl = H5Gget_create_plist(gid);
- if (gcpl <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_n: H5Gget_create_plist() failed";
- }
- HDassert(gcpl > 0);
+ if (gcpl <= 0) {
+ failure_mssg = "vrfy_os_grp_n: H5Gget_create_plist() failed";
+ return false;
}
- if (pass) {
- ret = H5Pget_link_creation_order(gcpl, &crt_order_flags);
+ ret = H5Pget_link_creation_order(gcpl, &crt_order_flags);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_n: H5Pget_link_creation_order";
- }
- else if (0 != crt_order_flags) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_n: 0 != crt_order_flags";
- }
- HDassert(ret >= 0);
- HDassert(0 == crt_order_flags);
+ if (ret < 0) {
+ failure_mssg = "vrfy_os_grp_n: H5Pget_link_creation_order";
+ return false;
+ } else if (0 != crt_order_flags) {
+ failure_mssg = "vrfy_os_grp_n: 0 != crt_order_flags";
+ return false;
}
- if (pass) {
- ret = H5Pclose(gcpl);
+ ret = H5Pclose(gcpl);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_n: H5Pclose() failed";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_os_grp_n: H5Pclose() failed";
+ return false;
}
- if (pass) {
- HDmemset(&grp_info, 0, sizeof(grp_info));
+ HDmemset(&grp_info, 0, sizeof(grp_info));
- ret = H5Gget_info(gid, &grp_info);
+ ret = H5Gget_info(gid, &grp_info);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_n: H5Gget_info() failed";
- }
- else if (H5G_STORAGE_TYPE_SYMBOL_TABLE != grp_info.storage_type) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_n: H5G_STORAGE_TYPE_SYMBOL_TABLE != grp_info.storage_type";
- }
- else if (nlinks != grp_info.nlinks) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_n: nlinks != grp_info.nlinks";
- }
- else if (0 != grp_info.max_corder) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_n: 0 != grp_info.max_corder";
- }
- else if ( FALSE != grp_info.mounted) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_n: FALSE != grp_info.mounted";
- }
- HDassert(ret >= 0);
- HDassert(H5G_STORAGE_TYPE_SYMBOL_TABLE == grp_info.storage_type);
- HDassert(nlinks == grp_info.nlinks);
- HDassert(0 == grp_info.max_corder);
- HDassert(false == grp_info.mounted);
+ if (ret < 0) {
+ failure_mssg = "vrfy_os_grp_n: H5Gget_info() failed";
+ return false;
+ } else if (H5G_STORAGE_TYPE_SYMBOL_TABLE != grp_info.storage_type) {
+ failure_mssg = "vrfy_os_grp_n: H5G_STORAGE_TYPE_SYMBOL_TABLE != grp_info.storage_type";
+ return false;
+ } else if (nlinks != grp_info.nlinks) {
+ failure_mssg = "vrfy_os_grp_n: nlinks != grp_info.nlinks";
+ return false;
+ } else if (0 != grp_info.max_corder) {
+ failure_mssg = "vrfy_os_grp_n: 0 != grp_info.max_corder";
+ return false;
+ } else if ( FALSE != grp_info.mounted) {
+ failure_mssg = "vrfy_os_grp_n: FALSE != grp_info.mounted";
+ return false;
}
- u = 0;
- while ((pass) && (u < nlinks)) {
+
+ for (u = 0; u < nlinks; u++) {
H5L_info_t lnk_info;
char linkname[32];
htri_t link_exists;
@@ -1494,8 +1189,8 @@ vrfy_os_grp_n(hid_t fid, const char *group_name, int proc_num,
link_exists = H5Lexists(gid, linkname, H5P_DEFAULT);
if (link_exists < 0) {
- pass = FALSE;
failure_mssg = "vrfy_os_grp_n: H5Lexists() failed";
+ return false;
}
HDassert(link_exists >= 0);
@@ -1503,99 +1198,80 @@ vrfy_os_grp_n(hid_t fid, const char *group_name, int proc_num,
ret = H5Lget_info(gid, linkname, &lnk_info, H5P_DEFAULT);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "vrfy_os_grp_n: H5Lget_info() failed";
+ return false;
}
else if ( FALSE != lnk_info.corder_valid) {
- pass = FALSE;
failure_mssg = "vrfy_os_grp_n: FALSE != lnk_info.corder_valid";
+ return false;
}
else if (H5T_CSET_ASCII != lnk_info.cset) {
- pass = FALSE;
failure_mssg = "vrfy_os_grp_n: H5T_CSET_ASCII != lnk_info.cset";
+ return false;
}
- HDassert(ret >= 0);
- HDassert(false == lnk_info.corder_valid);
- HDassert(H5T_CSET_ASCII == lnk_info.cset);
if (0 == (u % 2)) {
char *slinkval;
if (H5L_TYPE_SOFT != lnk_info.type) {
- pass = FALSE;
failure_mssg = "vrfy_os_grp_n: H5L_TYPE_SOFT != lnk_info.type";
- }
- else if ((HDstrlen(group_name) + 1) != lnk_info.u.val_size) {
- pass = FALSE;
+ return false;
+ } else if ((HDstrlen(group_name) + 1) != lnk_info.u.val_size) {
failure_mssg = "vrfy_os_grp_n: (HDstrlen(group_name) + 1) != lnk_info.u.val_size";
+ return false;
}
- HDassert(H5L_TYPE_SOFT == lnk_info.type);
- HDassert((HDstrlen(group_name) + 1) == lnk_info.u.val_size);
- slinkval = (char *) HDmalloc(lnk_info.u.val_size);
+ slinkval = HDmalloc(lnk_info.u.val_size);
if (!slinkval) {
- pass = FALSE;
failure_mssg = "vrfy_os_grp_n: HDmalloc of slinkval failed";
+ return false;
}
- HDassert(slinkval);
ret = H5Lget_val(gid, linkname, slinkval, lnk_info.u.val_size,
- H5P_DEFAULT);
+ H5P_DEFAULT);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "vrfy_os_grp_n: H5Lget_val() failed";
- }
- else if (0 != HDstrcmp(slinkval, group_name)) {
- pass = FALSE;
+ HDfree(slinkval);
+ return false;
+ } else if (0 != HDstrcmp(slinkval, group_name)) {
failure_mssg = "vrfy_os_grp_n: 0 != HDstrcmp(slinkval, group_name)";
+ HDfree(slinkval);
+ return false;
}
- HDassert(ret >= 0);
- HDassert(0 == HDstrcmp(slinkval, group_name));
-
HDfree(slinkval);
- } /* end if */
- else {
+ } else {
H5O_info_t root_oinfo;
HDassert(1 == (u % 2));
if (H5L_TYPE_HARD != lnk_info.type) {
- pass = FALSE;
failure_mssg = "vrfy_os_grp_n: H5L_TYPE_HARD != lnk_info.type";
+ return false;
}
- HDassert(H5L_TYPE_HARD == lnk_info.type);
HDmemset(&root_oinfo, 0, sizeof(root_oinfo));
ret = H5Oget_info2(fid, &root_oinfo, H5O_INFO_BASIC);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "vrfy_os_grp_n: H5Oget_info() failed.";
- }
- else if (root_oinfo.addr != lnk_info.u.address) {
- pass = FALSE;
+ return false;
+ } else if (root_oinfo.addr != lnk_info.u.address) {
failure_mssg = "vrfy_os_grp_n: root_oinfo.addr != lnk_info.u.address";
+ return false;
}
- HDassert(ret >= 0);
- HDassert(root_oinfo.addr == lnk_info.u.address);
- } /* end else */
-
- u++;
- } /* end while */
+ }
+ }
- if (pass) {
- ret = H5Gclose(gid);
+ ret = H5Gclose(gid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_os_grp_n: H5Gclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_os_grp_n: H5Gclose() failed.";
+ return false;
}
- return;
+ return true;
} /* vrfy_os_grp_n() */
@@ -1606,20 +1282,19 @@ vrfy_os_grp_n(hid_t fid, const char *group_name, int proc_num,
* to the data set or not as indicated by the write_data
* parameter.
*
- * If pass is false on entry, do nothing.
- *
- * If an error is detected, set pass to FALSE, and set
+ * If an error is detected, return false, and set
* failure_mssg to point to an appropriate error message.
*
- * Return: void
+ * Return: true on success, false on failure.
*
* Programmer: John Mainzer
* 9/14/15
*
*-------------------------------------------------------------------------
*/
-void
-ds_ctg_i(hid_t fid, const char *dset_name, hbool_t write_data) {
+bool
+ds_ctg_i(hid_t fid, const char *dset_name, hbool_t write_data)
+{
int *wdata = NULL;
unsigned u;
hid_t dsid = -1;
@@ -1627,74 +1302,58 @@ ds_ctg_i(hid_t fid, const char *dset_name, hbool_t write_data) {
hsize_t dims[1] = { DSET_DIMS };
herr_t ret;
- if (pass) {
- sid = H5Screate_simple(1, dims, NULL);
+ sid = H5Screate_simple(1, dims, NULL);
- if (sid <= 0) {
- pass = FALSE;
- failure_mssg = "ds_ctg_i: H5Screate_simple() failed";
- }
- HDassert(sid > 0);
+ if (sid <= 0) {
+ failure_mssg = "ds_ctg_i: H5Screate_simple() failed";
+ return false;
}
- if (pass) {
- dsid = H5Dcreate2(fid, dset_name, H5T_NATIVE_INT, sid, H5P_DEFAULT,
- H5P_DEFAULT, H5P_DEFAULT);
+ dsid = H5Dcreate2(fid, dset_name, H5T_NATIVE_INT, sid, H5P_DEFAULT,
+ H5P_DEFAULT, H5P_DEFAULT);
- if (dsid <= 0) {
- pass = FALSE;
- failure_mssg = "ds_ctg_i: H5Dcreate2() failed";
- }
- HDassert(dsid > 0);
+ if (dsid <= 0) {
+ failure_mssg = "ds_ctg_i: H5Dcreate2() failed";
+ return false;
}
- if (pass) {
- ret = H5Sclose(sid);
+ ret = H5Sclose(sid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ds_ctg_i: H5Sclose() failed";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "ds_ctg_i: H5Sclose() failed";
+ return false;
}
- if ((pass) && (write_data)) {
- wdata = (int *) HDmalloc(sizeof(int) * DSET_DIMS);
+ if (write_data) {
+ wdata = HDmalloc(sizeof(int) * DSET_DIMS);
if (!wdata) {
- pass = FALSE;
failure_mssg = "ds_ctg_i: HDmalloc of wdata failed.";
+ return false;
}
- HDassert(wdata);
- }
- if ((pass) && (write_data)) {
for (u = 0; u < DSET_DIMS; u++)
wdata[u] = (int) u;
- ret = H5Dwrite(dsid, H5T_NATIVE_INT, H5S_ALL, H5S_ALL,
- H5P_DEFAULT, wdata);
+ ret = H5Dwrite(dsid, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT,
+ wdata);
+
+ HDfree(wdata);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "ds_ctg_i: H5Dwrite() failed.";
+ return false;
}
- HDassert(ret >= 0);
-
- HDfree(wdata);
}
- if (pass) {
- ret = H5Dclose(dsid);
+ ret = H5Dclose(dsid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ds_ctg_i: H5Dclose() failed";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "ds_ctg_i: H5Dclose() failed";
+ return false;
}
- return;
+ return true;
} /* ds_ctg_i */
@@ -1704,20 +1363,19 @@ ds_ctg_i(hid_t fid, const char *dset_name, hbool_t write_data) {
* Purpose: Validate a contiguous datasets w/int datatypes. Validate
* data if indicated via the write_data parameter.
*
- * If pass is false on entry, do nothing.
- *
- * If an error is detected, set pass to FALSE, and set
+ * If an error is detected, return false, and set
* failure_mssg to point to an appropriate error message.
*
- * Return: void
+ * Return: true on success, false on failure.
*
* Programmer: John Mainzer
* 9/14/15
*
*-------------------------------------------------------------------------
*/
-void
-vrfy_ds_ctg_i(hid_t fid, const char *dset_name, hbool_t write_data) {
+bool
+vrfy_ds_ctg_i(hid_t fid, const char *dset_name, hbool_t write_data)
+{
int *rdata = NULL;
unsigned u;
hid_t dsid = -1;
@@ -1731,191 +1389,137 @@ vrfy_ds_ctg_i(hid_t fid, const char *dset_name, hbool_t write_data) {
htri_t type_equal;
herr_t ret;
- if (pass) {
- dsid = H5Dopen2(fid, dset_name, H5P_DEFAULT);
+ dsid = H5Dopen2(fid, dset_name, H5P_DEFAULT);
- if (dsid <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_i: H5Dopen2() failed.";
- }
- HDassert(dsid > 0);
+ if (dsid <= 0) {
+ failure_mssg = "vrfy_ds_ctg_i: H5Dopen2() failed.";
+ return false;
}
- if (pass) {
- sid = H5Dget_space(dsid);
+ sid = H5Dget_space(dsid);
- if (sid <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_i: H5Dget_space() failed.";
- }
- HDassert(sid > 0);
+ if (sid <= 0) {
+ failure_mssg = "vrfy_ds_ctg_i: H5Dget_space() failed.";
+ return false;
}
- if (pass) {
- ndims = H5Sget_simple_extent_ndims(sid);
+ ndims = H5Sget_simple_extent_ndims(sid);
- if (1 != ndims) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_i: 1 != ndims";
- }
- HDassert(1 == ndims);
+ if (1 != ndims) {
+ failure_mssg = "vrfy_ds_ctg_i: 1 != ndims";
+ return false;
}
- if (pass) {
- ret = H5Sget_simple_extent_dims(sid, dims, max_dims);
+ ret = H5Sget_simple_extent_dims(sid, dims, max_dims);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_i: H5Sget_simple_extent_dims() failed";
- }
- else if ( DSET_DIMS != dims[0]) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_i: DSET_DIMS != dims[0]";
- }
- else if ( DSET_DIMS != max_dims[0]) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_i: DSET_DIMS != max_dims[0]";
- }
- HDassert(ret >= 0);
- HDassert(DSET_DIMS == dims[0]);
- HDassert(DSET_DIMS == max_dims[0]);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_ctg_i: H5Sget_simple_extent_dims() failed";
+ return false;
+ } else if ( DSET_DIMS != dims[0]) {
+ failure_mssg = "vrfy_ds_ctg_i: DSET_DIMS != dims[0]";
+ return false;
+ } else if ( DSET_DIMS != max_dims[0]) {
+ failure_mssg = "vrfy_ds_ctg_i: DSET_DIMS != max_dims[0]";
+ return false;
}
- if (pass) {
- ret = H5Sclose(sid);
+ ret = H5Sclose(sid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_i: H5Sclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_ctg_i: H5Sclose() failed.";
+ return false;
}
- if (pass) {
- tid = H5Dget_type(dsid);
+ tid = H5Dget_type(dsid);
- if (tid <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_i: H5Dget_type() failed.";
- }
- HDassert(tid > 0);
+ if (tid <= 0) {
+ failure_mssg = "vrfy_ds_ctg_i: H5Dget_type() failed.";
+ return false;
}
- if (pass) {
- type_equal = H5Tequal(tid, H5T_NATIVE_INT);
+ type_equal = H5Tequal(tid, H5T_NATIVE_INT);
- if (1 != type_equal) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_i: type not H5T_NATIVE_INT";
- }
- HDassert(1 == type_equal);
+ if (1 != type_equal) {
+ failure_mssg = "vrfy_ds_ctg_i: type not H5T_NATIVE_INT";
+ return false;
}
- if (pass) {
- ret = H5Tclose(tid);
+ ret = H5Tclose(tid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_i: H5Tclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_ctg_i: H5Tclose() failed.";
+ return false;
}
- if (pass) {
- ret = H5Dget_space_status(dsid, &allocation);
+ ret = H5Dget_space_status(dsid, &allocation);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_i: H5Dget_space_status() failed.";
- }
- else if (write_data && (allocation != H5D_SPACE_STATUS_ALLOCATED)) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_i: write_data && allocation != H5D_SPACE_STATUS_ALLOCATED";
- }
- else if (!write_data
- && (allocation != H5D_SPACE_STATUS_NOT_ALLOCATED)) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_i: !write_data && allocation != H5D_SPACE_STATUS_NOT_ALLOCATED";
- }
- HDassert(ret >= 0);
- HDassert((write_data && allocation == H5D_SPACE_STATUS_ALLOCATED)
- || (!write_data && allocation == H5D_SPACE_STATUS_NOT_ALLOCATED));
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_ctg_i: H5Dget_space_status() failed.";
+ return false;
+ } else if (write_data && (allocation != H5D_SPACE_STATUS_ALLOCATED)) {
+ failure_mssg = "vrfy_ds_ctg_i: "
+ "write_data && allocation != H5D_SPACE_STATUS_ALLOCATED";
+ return false;
+ } else if (!write_data && (allocation != H5D_SPACE_STATUS_NOT_ALLOCATED)) {
+ failure_mssg = "vrfy_ds_ctg_i: "
+ "!write_data && allocation != H5D_SPACE_STATUS_NOT_ALLOCATED";
+ return false;
}
- if (pass) {
- dcpl = H5Dget_create_plist(dsid);
+ dcpl = H5Dget_create_plist(dsid);
- if (dcpl <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_i: H5Dget_create_plist() failed.";
- }
- HDassert(dcpl > 0);
+ if (dcpl <= 0) {
+ failure_mssg = "vrfy_ds_ctg_i: H5Dget_create_plist() failed.";
+ return false;
}
- if (pass) {
- layout = H5Pget_layout(dcpl);
+ layout = H5Pget_layout(dcpl);
- if (H5D_CONTIGUOUS != layout) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_i: H5D_CONTIGUOUS != layout";
- }
- HDassert(H5D_CONTIGUOUS == layout);
+ if (H5D_CONTIGUOUS != layout) {
+ failure_mssg = "vrfy_ds_ctg_i: H5D_CONTIGUOUS != layout";
+ return false;
}
- if (pass) {
- ret = H5Pclose(dcpl);
+ ret = H5Pclose(dcpl);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_i: H5Pclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_ctg_i: H5Pclose() failed.";
+ return false;
}
- if ((pass) && (write_data)) {
- rdata = (int *) HDmalloc(sizeof(int) * DSET_DIMS);
+ if (write_data) {
+ rdata = HDmalloc(sizeof(int) * DSET_DIMS);
if (!rdata) {
- pass = FALSE;
failure_mssg = "vrfy_ds_ctg_i: HDmalloc of rdata failed.";
+ return false;
}
- HDassert(rdata);
- }
- if ((pass) && (write_data)) {
- ret = H5Dread(dsid, H5T_NATIVE_INT, H5S_ALL, H5S_ALL,
- H5P_DEFAULT, rdata);
+ ret = H5Dread(dsid, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT,
+ rdata);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "vrfy_ds_ctg_i: H5Dread() failed.";
+ return false;
}
- HDassert(ret >= 0);
- }
- if ((pass) && (write_data)) {
for (u = 0; u < DSET_DIMS; u++) {
if ((int) u != rdata[u]) {
- pass = FALSE;
failure_mssg = "vrfy_ds_ctg_i: u != rdata[u].";
- break;
+ HDfree(rdata);
+ return false;
}
- HDassert((int )u == rdata[u]);
}
-
HDfree(rdata);
- } /* end if */
+ }
- if (pass) {
- ret = H5Dclose(dsid);
+ ret = H5Dclose(dsid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_i: H5Dclose() failed";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_ctg_i: H5Dclose() failed";
+ return false;
}
- return;
+ return true;
} /* vrfy_ds_ctg_i() */
@@ -1927,20 +1531,19 @@ vrfy_ds_ctg_i(hid_t fid, const char *dset_name, hbool_t write_data) {
* to the data set or not as indicated by the write_data
* parameter.
*
- * If pass is false on entry, do nothing.
- *
- * If an error is detected, set pass to FALSE, and set
+ * If an error is detected, return false, and set
* failure_mssg to point to an appropriate error message.
*
- * Return: void
+ * Return: true on success, false on failure.
*
* Programmer: John Mainzer
* 9/14/15
*
*-------------------------------------------------------------------------
*/
-void
-ds_chk_i(hid_t fid, const char *dset_name, hbool_t write_data) {
+bool
+ds_chk_i(hid_t fid, const char *dset_name, hbool_t write_data)
+{
int *wdata = NULL;
unsigned u;
hid_t dsid = -1;
@@ -1950,102 +1553,77 @@ ds_chk_i(hid_t fid, const char *dset_name, hbool_t write_data) {
hsize_t chunk_dims[1] = { DSET_CHUNK_DIMS };
herr_t ret;
- if (pass) {
- sid = H5Screate_simple(1, dims, NULL);
+ sid = H5Screate_simple(1, dims, NULL);
- if (sid <= 0) {
- pass = FALSE;
- failure_mssg = "ds_chk_i: H5Screate_simple() failed.";
- }
- HDassert(sid > 0);
+ if (sid <= 0) {
+ failure_mssg = "ds_chk_i: H5Screate_simple() failed.";
+ return false;
}
- if (pass) {
- dcpl = H5Pcreate(H5P_DATASET_CREATE);
+ dcpl = H5Pcreate(H5P_DATASET_CREATE);
- if (dcpl <= 0) {
- pass = FALSE;
- failure_mssg = "ds_chk_i: H5Pcreate() failed.";
- }
- HDassert(dcpl > 0);
+ if (dcpl <= 0) {
+ failure_mssg = "ds_chk_i: H5Pcreate() failed.";
+ return false;
}
- if (pass) {
- ret = H5Pset_chunk(dcpl, 1, chunk_dims);
+ ret = H5Pset_chunk(dcpl, 1, chunk_dims);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ds_chk_i: H5Pset_chunk() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "ds_chk_i: H5Pset_chunk() failed.";
+ return false;
}
- if (pass) {
- dsid = H5Dcreate2(fid, dset_name, H5T_NATIVE_INT, sid,
- H5P_DEFAULT, dcpl, H5P_DEFAULT);
+ dsid = H5Dcreate2(fid, dset_name, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl,
+ H5P_DEFAULT);
- if (dsid <= 0) {
- pass = FALSE;
- failure_mssg = "ds_chk_i: H5Dcreate2() failed";
- }
- HDassert(dsid > 0);
+ if (dsid <= 0) {
+ failure_mssg = "ds_chk_i: H5Dcreate2() failed";
+ return false;
}
- if (pass) {
- ret = H5Pclose(dcpl);
+ ret = H5Pclose(dcpl);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ds_chk_i: H5Pclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "ds_chk_i: H5Pclose() failed.";
+ return false;
}
- if (pass) {
- ret = H5Sclose(sid);
+ ret = H5Sclose(sid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ds_chk_i: H5Sclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "ds_chk_i: H5Sclose() failed.";
+ return false;
}
- if ((pass) && (write_data)) {
- wdata = (int *) HDmalloc(sizeof(int) * DSET_DIMS);
+ if (write_data) {
+ wdata = HDmalloc(sizeof(int) * DSET_DIMS);
if (!wdata) {
- pass = FALSE;
failure_mssg = "ds_chk_i: HDmalloc of wdata failed.";
+ return false;
}
- HDassert(wdata);
- }
- if ((pass) && (write_data)) {
for (u = 0; u < DSET_DIMS; u++)
wdata[u] = (int) u;
- ret = H5Dwrite(dsid, H5T_NATIVE_INT, H5S_ALL, H5S_ALL,
- H5P_DEFAULT, wdata);
+ ret = H5Dwrite(dsid, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT,
+ wdata);
+ HDfree(wdata);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "ds_chk_i: H5Dwrite() failed.";
+ return false;
}
- HDassert(ret >= 0);
- HDfree(wdata);
- } /* end if */
+ }
- if (pass) {
- ret = H5Dclose(dsid);
+ ret = H5Dclose(dsid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ds_chk_i: H5Dclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "ds_chk_i: H5Dclose() failed.";
+ return false;
}
- return;
+ return true;
} /* ds_chk_i */
@@ -2055,20 +1633,19 @@ ds_chk_i(hid_t fid, const char *dset_name, hbool_t write_data) {
* Purpose: Validate a chunked datasets w/int datatypes. Validate
* data if indicated via the write_data parameter.
*
- * If pass is false on entry, do nothing.
- *
- * If an error is detected, set pass to FALSE, and set
+ * If an error is detected, return false, and set
* failure_mssg to point to an appropriate error message.
*
- * Return: void
+ * Return: true on success, false on failure.
*
* Programmer: John Mainzer
* 9/14/15
*
*-------------------------------------------------------------------------
*/
-void
-vrfy_ds_chk_i(hid_t fid, const char *dset_name, hbool_t write_data) {
+bool
+vrfy_ds_chk_i(hid_t fid, const char *dset_name, hbool_t write_data)
+{
int *rdata = NULL;
unsigned u;
hid_t dsid = -1;
@@ -2082,204 +1659,145 @@ vrfy_ds_chk_i(hid_t fid, const char *dset_name, hbool_t write_data) {
htri_t type_equal;
herr_t ret;
- if (pass) {
- dsid = H5Dopen2(fid, dset_name, H5P_DEFAULT);
+ dsid = H5Dopen2(fid, dset_name, H5P_DEFAULT);
- if (dsid <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_chk_i: H5Dopen2() failed.";
- }
- HDassert(dsid > 0);
+ if (dsid <= 0) {
+ failure_mssg = "vrfy_ds_chk_i: H5Dopen2() failed.";
+ return false;
}
- if (pass) {
- sid = H5Dget_space(dsid);
+ sid = H5Dget_space(dsid);
- if (sid <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_chk_i: H5Dget_space() failed.";
- }
- HDassert(sid > 0);
+ if (sid <= 0) {
+ failure_mssg = "vrfy_ds_chk_i: H5Dget_space() failed.";
+ return false;
}
- if (pass) {
- ndims = H5Sget_simple_extent_ndims(sid);
+ ndims = H5Sget_simple_extent_ndims(sid);
- if (1 != ndims) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_chk_i: 1 != ndims";
- }
- HDassert(1 == ndims);
+ if (1 != ndims) {
+ failure_mssg = "vrfy_ds_chk_i: 1 != ndims";
+ return false;
}
- if (pass) {
- ret = H5Sget_simple_extent_dims(sid, dims, max_dims);
+ ret = H5Sget_simple_extent_dims(sid, dims, max_dims);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_chk_i: H5Sget_simple_extent_dims() failed";
- }
- else if ( DSET_DIMS != dims[0]) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_chk_i: DSET_DIMS != dims[0]";
- }
- else if ( DSET_DIMS != max_dims[0]) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_chk_i: DSET_DIMS != max_dims[0]";
- }
- HDassert(ret >= 0);
- HDassert(DSET_DIMS == dims[0]);
- HDassert(DSET_DIMS == max_dims[0]);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_chk_i: H5Sget_simple_extent_dims() failed";
+ return false;
+ } else if ( DSET_DIMS != dims[0]) {
+ failure_mssg = "vrfy_ds_chk_i: DSET_DIMS != dims[0]";
+ return false;
+ } else if ( DSET_DIMS != max_dims[0]) {
+ failure_mssg = "vrfy_ds_chk_i: DSET_DIMS != max_dims[0]";
+ return false;
}
- if (pass) {
- ret = H5Sclose(sid);
+ ret = H5Sclose(sid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_chk_i: H5Sclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_chk_i: H5Sclose() failed.";
+ return false;
}
- if (pass) {
- tid = H5Dget_type(dsid);
+ tid = H5Dget_type(dsid);
- if (tid <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_chk_i: H5Dget_type() failed.";
- }
- HDassert(tid > 0);
+ if (tid <= 0) {
+ failure_mssg = "vrfy_ds_chk_i: H5Dget_type() failed.";
+ return false;
}
- if (pass) {
- type_equal = H5Tequal(tid, H5T_NATIVE_INT);
+ type_equal = H5Tequal(tid, H5T_NATIVE_INT);
- if (1 != type_equal) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_chk_i: tid != H5T_NATIVE_INT";
- }
- HDassert(1 == type_equal);
+ if (1 != type_equal) {
+ failure_mssg = "vrfy_ds_chk_i: tid != H5T_NATIVE_INT";
+ return false;
}
- if (pass) {
- ret = H5Tclose(tid);
+ ret = H5Tclose(tid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_chk_i: H5Tclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_chk_i: H5Tclose() failed.";
+ return false;
}
- if (pass) {
- ret = H5Dget_space_status(dsid, &allocation);
+ ret = H5Dget_space_status(dsid, &allocation);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_chk_i: H5Dget_space_status() failed.";
- }
- else if (write_data && (allocation != H5D_SPACE_STATUS_ALLOCATED)) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_chk_i: write_data && allocation != H5D_SPACE_STATUS_ALLOCATED";
- }
- else if (!write_data && (allocation != H5D_SPACE_STATUS_NOT_ALLOCATED)) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_chk_i: !write_data && allocation != H5D_SPACE_STATUS_NOT_ALLOCATED";
- }
- HDassert(ret >= 0);
- HDassert((write_data && allocation == H5D_SPACE_STATUS_ALLOCATED)
- || (!write_data && allocation == H5D_SPACE_STATUS_NOT_ALLOCATED));
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_chk_i: H5Dget_space_status() failed.";
+ return false;
+ } else if (write_data && (allocation != H5D_SPACE_STATUS_ALLOCATED)) {
+ failure_mssg = "vrfy_ds_chk_i: write_data && allocation != H5D_SPACE_STATUS_ALLOCATED";
+ return false;
+ } else if (!write_data && (allocation != H5D_SPACE_STATUS_NOT_ALLOCATED)) {
+ failure_mssg = "vrfy_ds_chk_i: !write_data && allocation != H5D_SPACE_STATUS_NOT_ALLOCATED";
+ return false;
}
- if (pass) {
- dcpl = H5Dget_create_plist(dsid);
+ dcpl = H5Dget_create_plist(dsid);
- if (dcpl <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_chk_i: H5Dget_create_plist() failed.";
- }
- HDassert(dcpl > 0);
+ if (dcpl <= 0) {
+ failure_mssg = "vrfy_ds_chk_i: H5Dget_create_plist() failed.";
+ return false;
}
- if (pass) {
- layout = H5Pget_layout(dcpl);
+ layout = H5Pget_layout(dcpl);
- if (H5D_CHUNKED != layout) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_chk_i: H5D_CHUNKED != layout";
- }
- HDassert(H5D_CHUNKED == layout);
+ if (H5D_CHUNKED != layout) {
+ failure_mssg = "vrfy_ds_chk_i: H5D_CHUNKED != layout";
+ return false;
}
- if (pass) {
- ret = H5Pget_chunk(dcpl, 1, chunk_dims);
+ ret = H5Pget_chunk(dcpl, 1, chunk_dims);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_chk_i: H5Pget_chunk";
- }
- else if ( DSET_CHUNK_DIMS != chunk_dims[0]) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_chk_i: ";
- }
- HDassert(ret >= 0);
- HDassert(DSET_CHUNK_DIMS == chunk_dims[0]);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_chk_i: H5Pget_chunk";
+ return false;
+ } else if ( DSET_CHUNK_DIMS != chunk_dims[0]) {
+ failure_mssg = "vrfy_ds_chk_i: ";
+ return false;
}
- if (pass) {
- ret = H5Pclose(dcpl);
+ ret = H5Pclose(dcpl);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_chk_i: H5Pclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_chk_i: H5Pclose() failed.";
+ return false;
}
- if ((pass) && (write_data)) {
- rdata = (int *) HDmalloc(sizeof(int) * DSET_DIMS);
+ if (write_data) {
+ rdata = HDmalloc(sizeof(int) * DSET_DIMS);
if (!rdata) {
- pass = FALSE;
failure_mssg = "vrfy_ds_chk_i: HDmalloc of rdata failed.";
+ return false;
}
- HDassert(rdata);
- }
- if ((pass) && (write_data)) {
- ret = H5Dread(dsid, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata);
+ ret = H5Dread(dsid, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT,
+ rdata);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "vrfy_ds_chk_i: H5Dread() failed.";
+ return false;
}
- HDassert(ret >= 0);
- }
- if ((pass) && (write_data)) {
for (u = 0; u < DSET_DIMS; u++) {
if ((int) u != rdata[u]) {
- pass = FALSE;
failure_mssg = "vrfy_ds_chk_i: u != rdata[u]";
- break;
+ HDfree(rdata);
+ return false;
}
- HDassert((int )u == rdata[u]);
}
-
HDfree(rdata);
- } /* end if */
+ }
- if (pass) {
- ret = H5Dclose(dsid);
+ ret = H5Dclose(dsid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_chk_i: H5Dclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_chk_i: H5Dclose() failed.";
+ return false;
}
- return;
+ return true;
} /* vrfy_ds_chk_i() */
@@ -2290,20 +1808,19 @@ vrfy_ds_chk_i(hid_t fid, const char *dset_name, hbool_t write_data) {
* to the data set or not as indicated by the write_data
* parameter.
*
- * If pass is false on entry, do nothing.
- *
- * If an error is detected, set pass to FALSE, and set
+ * If an error is detected, return false, and set
* failure_mssg to point to an appropriate error message.
*
- * Return: void
+ * Return: true on success, false on failure.
*
* Programmer: John Mainzer
* 9/14/15
*
*-------------------------------------------------------------------------
*/
-void
-ds_cpt_i(hid_t fid, const char *dset_name, hbool_t write_data) {
+bool
+ds_cpt_i(hid_t fid, const char *dset_name, hbool_t write_data)
+{
int *wdata = NULL;
unsigned u;
hid_t dsid = -1;
@@ -2312,104 +1829,78 @@ ds_cpt_i(hid_t fid, const char *dset_name, hbool_t write_data) {
hsize_t dims[1] = { DSET_COMPACT_DIMS };
herr_t ret;
- if (pass) {
- sid = H5Screate_simple(1, dims, NULL);
+ sid = H5Screate_simple(1, dims, NULL);
- if (sid <= 0) {
- pass = FALSE;
- failure_mssg = "ds_cpt_i: H5Screate_simple() failed.";
- }
- HDassert(sid > 0);
+ if (sid <= 0) {
+ failure_mssg = "ds_cpt_i: H5Screate_simple() failed.";
+ return false;
}
- if (pass) {
- dcpl = H5Pcreate(H5P_DATASET_CREATE);
+ dcpl = H5Pcreate(H5P_DATASET_CREATE);
- if (dcpl <= 0) {
- pass = FALSE;
- failure_mssg = "ds_cpt_i: H5Pcreate() failed.";
- }
- HDassert(dcpl > 0);
+ if (dcpl <= 0) {
+ failure_mssg = "ds_cpt_i: H5Pcreate() failed.";
+ return false;
}
- if (pass) {
- ret = H5Pset_layout(dcpl, H5D_COMPACT);
+ ret = H5Pset_layout(dcpl, H5D_COMPACT);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ds_cpt_i: H5Pset_layout() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "ds_cpt_i: H5Pset_layout() failed.";
+ return false;
}
- if (pass) {
- dsid = H5Dcreate2(fid, dset_name, H5T_NATIVE_INT, sid,
- H5P_DEFAULT, dcpl, H5P_DEFAULT);
+ dsid = H5Dcreate2(fid, dset_name, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl,
+ H5P_DEFAULT);
- if (dsid <= 0) {
- pass = FALSE;
- failure_mssg = "ds_cpt_i: H5Dcreate2() failed.";
- }
- HDassert(dsid > 0);
+ if (dsid <= 0) {
+ failure_mssg = "ds_cpt_i: H5Dcreate2() failed.";
+ return false;
}
- if (pass) {
- ret = H5Pclose(dcpl);
+ ret = H5Pclose(dcpl);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ds_cpt_i: H5Pclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "ds_cpt_i: H5Pclose() failed.";
+ return false;
}
- if (pass) {
- ret = H5Sclose(sid);
+ ret = H5Sclose(sid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ds_cpt_i: H5Sclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "ds_cpt_i: H5Sclose() failed.";
+ return false;
}
- if ((pass) && (write_data)) {
- wdata = (int *) HDmalloc(sizeof(int) * DSET_COMPACT_DIMS);
+ if (write_data) {
+ wdata = HDmalloc(sizeof(int) * DSET_COMPACT_DIMS);
if (!wdata) {
- pass = FALSE;
failure_mssg = "ds_cpt_i: HDmalloc of wdata failed.";
+ return false;
}
- HDassert(wdata);
- }
- if ((pass) && (write_data)) {
for (u = 0; u < DSET_COMPACT_DIMS; u++)
wdata[u] = (int) u;
- ret = H5Dwrite(dsid, H5T_NATIVE_INT, H5S_ALL, H5S_ALL,
- H5P_DEFAULT, wdata);
+ ret = H5Dwrite(dsid, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT,
+ wdata);
+ HDfree(wdata);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "ds_cpt_i: H5Dwrite() failed.";
+ return false;
}
- HDassert(ret >= 0);
-
- HDfree(wdata);
- } /* end if */
+ }
- if (pass) {
- ret = H5Dclose(dsid);
+ ret = H5Dclose(dsid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ds_cpt_i: H5Dclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "ds_cpt_i: H5Dclose() failed.";
+ return false;
}
- return;
+ return true;
} /* ds_cpt_i() */
@@ -2420,20 +1911,19 @@ ds_cpt_i(hid_t fid, const char *dset_name, hbool_t write_data) {
* Purpose: Validate a compact datasets w/int datatypes. Validate
* data if indicated via the write_data parameter.
*
- * If pass is false on entry, do nothing.
- *
- * If an error is detected, set pass to FALSE, and set
+ * If an error is detected, return false, and set
* failure_mssg to point to an appropriate error message.
*
- * Return: void
+ * Return: true on success, false on failure.
*
* Programmer: John Mainzer
* 9/14/15
*
*-------------------------------------------------------------------------
*/
-void
-vrfy_ds_cpt_i(hid_t fid, const char *dset_name, hbool_t write_data) {
+bool
+vrfy_ds_cpt_i(hid_t fid, const char *dset_name, hbool_t write_data)
+{
int *rdata = NULL;
unsigned u;
hid_t dsid = -1;
@@ -2447,186 +1937,133 @@ vrfy_ds_cpt_i(hid_t fid, const char *dset_name, hbool_t write_data) {
htri_t type_equal;
herr_t ret;
- if (pass) {
- dsid = H5Dopen2(fid, dset_name, H5P_DEFAULT);
+ dsid = H5Dopen2(fid, dset_name, H5P_DEFAULT);
- if (dsid <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_cpt_i: H5Dopen2() failed.";
- }
- HDassert(dsid > 0);
+ if (dsid <= 0) {
+ failure_mssg = "vrfy_ds_cpt_i: H5Dopen2() failed.";
+ return false;
}
- if (pass) {
- sid = H5Dget_space(dsid);
+ sid = H5Dget_space(dsid);
- if (sid <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_cpt_i: H5Dget_space() failed.";
- }
- HDassert(sid > 0);
+ if (sid <= 0) {
+ failure_mssg = "vrfy_ds_cpt_i: H5Dget_space() failed.";
+ return false;
}
- if (pass) {
- ndims = H5Sget_simple_extent_ndims(sid);
+ ndims = H5Sget_simple_extent_ndims(sid);
- if (1 != ndims) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_cpt_i: 1 != ndims";
- }
- HDassert(1 == ndims);
+ if (1 != ndims) {
+ failure_mssg = "vrfy_ds_cpt_i: 1 != ndims";
+ return false;
}
- if (pass) {
- ret = H5Sget_simple_extent_dims(sid, dims, max_dims);
+ ret = H5Sget_simple_extent_dims(sid, dims, max_dims);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_cpt_i: H5Sget_simple_extent_dims() failed";
- }
- else if ( DSET_COMPACT_DIMS != dims[0]) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_cpt_i: DSET_COMPACT_DIMS != dims[0]";
- }
- else if ( DSET_COMPACT_DIMS != max_dims[0]) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_cpt_i: DSET_COMPACT_DIMS != max_dims[0]";
- }
- HDassert(ret >= 0);
- HDassert(DSET_COMPACT_DIMS == dims[0]);
- HDassert(DSET_COMPACT_DIMS == max_dims[0]);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_cpt_i: H5Sget_simple_extent_dims() failed";
+ return false;
+ } else if ( DSET_COMPACT_DIMS != dims[0]) {
+ failure_mssg = "vrfy_ds_cpt_i: DSET_COMPACT_DIMS != dims[0]";
+ return false;
+ } else if ( DSET_COMPACT_DIMS != max_dims[0]) {
+ failure_mssg = "vrfy_ds_cpt_i: DSET_COMPACT_DIMS != max_dims[0]";
+ return false;
}
- if (pass) {
- ret = H5Sclose(sid);
+ ret = H5Sclose(sid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_cpt_i: H5Sclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_cpt_i: H5Sclose() failed.";
+ return false;
}
- if (pass) {
- tid = H5Dget_type(dsid);
+ tid = H5Dget_type(dsid);
- if (tid <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_cpt_i: H5Dget_type() failed.";
- }
- HDassert(tid > 0);
+ if (tid <= 0) {
+ failure_mssg = "vrfy_ds_cpt_i: H5Dget_type() failed.";
+ return false;
}
- if (pass) {
- type_equal = H5Tequal(tid, H5T_NATIVE_INT);
+ type_equal = H5Tequal(tid, H5T_NATIVE_INT);
- if (1 != type_equal) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_cpt_i: type != H5T_NATIVE_INT";
- }
- HDassert(1 == type_equal);
+ if (1 != type_equal) {
+ failure_mssg = "vrfy_ds_cpt_i: type != H5T_NATIVE_INT";
+ return false;
}
- if (pass) {
- ret = H5Tclose(tid);
+ ret = H5Tclose(tid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_cpt_i: H5Tclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_cpt_i: H5Tclose() failed.";
+ return false;
}
- if (pass) {
- ret = H5Dget_space_status(dsid, &allocation);
+ ret = H5Dget_space_status(dsid, &allocation);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_cpt_i: H5Dget_space_status() failed.";
- }
- else if (H5D_SPACE_STATUS_ALLOCATED != allocation) {
- pass = FALSE;
- failure_mssg =
- "vrfy_ds_cpt_i: H5D_SPACE_STATUS_ALLOCATED != allocation";
- }
- HDassert(ret >= 0);
- HDassert(H5D_SPACE_STATUS_ALLOCATED == allocation);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_cpt_i: H5Dget_space_status() failed.";
+ return false;
+ } else if (H5D_SPACE_STATUS_ALLOCATED != allocation) {
+ failure_mssg =
+ "vrfy_ds_cpt_i: H5D_SPACE_STATUS_ALLOCATED != allocation";
+ return false;
}
- if (pass) {
- dcpl = H5Dget_create_plist(dsid);
+ dcpl = H5Dget_create_plist(dsid);
- if (dcpl <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_cpt_i: H5Dget_create_plist() failed.";
- }
- HDassert(dcpl > 0);
+ if (dcpl <= 0) {
+ failure_mssg = "vrfy_ds_cpt_i: H5Dget_create_plist() failed.";
+ return false;
}
- if (pass) {
- layout = H5Pget_layout(dcpl);
+ layout = H5Pget_layout(dcpl);
- if (H5D_COMPACT != layout) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_cpt_i: H5D_COMPACT != layout";
- }
- HDassert(H5D_COMPACT == layout);
+ if (H5D_COMPACT != layout) {
+ failure_mssg = "vrfy_ds_cpt_i: H5D_COMPACT != layout";
+ return false;
}
- if (pass) {
- ret = H5Pclose(dcpl);
+ ret = H5Pclose(dcpl);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_cpt_i: H5Pclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_cpt_i: H5Pclose() failed.";
+ return false;
}
- if ((pass) && (write_data)) {
- rdata = (int *) HDmalloc(sizeof(int) * DSET_COMPACT_DIMS);
+ if (write_data) {
+ rdata = HDmalloc(sizeof(int) * DSET_COMPACT_DIMS);
if (!rdata) {
- pass = FALSE;
failure_mssg = "vrfy_ds_cpt_i: HDmalloc of rdata failed.";
+ return false;
}
- HDassert(rdata);
- }
- if ((pass) && (write_data)) {
- ret = H5Dread(dsid, H5T_NATIVE_INT, H5S_ALL, H5S_ALL,
- H5P_DEFAULT, rdata);
+ ret = H5Dread(dsid, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT,
+ rdata);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "vrfy_ds_cpt_i: H5Dread() failed.";
+ return false;
}
- HDassert(ret >= 0);
- }
- if ((pass) && (write_data)) {
for (u = 0; u < DSET_COMPACT_DIMS; u++) {
if ((int) u != rdata[u]) {
- pass = FALSE;
failure_mssg = "vrfy_ds_cpt_i: (int)u != rdata[u]";
- break;
+ HDfree(rdata);
+ return false;
}
- HDassert((int )u == rdata[u]);
}
-
HDfree(rdata);
- } /* end if */
+ }
- if (pass) {
- ret = H5Dclose(dsid);
+ ret = H5Dclose(dsid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_cpt_i: H5Dclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_cpt_i: H5Dclose() failed.";
+ return false;
}
- return;
+ return true;
} /* vrfy_ds_cpt_i() */
@@ -2637,20 +2074,19 @@ vrfy_ds_cpt_i(hid_t fid, const char *dset_name, hbool_t write_data) {
* Write data to the data set or not as indicated by the
* write_data parameter.
*
- * If pass is false on entry, do nothing.
- *
- * If an error is detected, set pass to FALSE, and set
+ * If an error is detected, return false, and set
* failure_mssg to point to an appropriate error message.
*
- * Return: void
+ * Return: true on success, false on failure.
*
* Programmer: John Mainzer
* 9/14/15
*
*-------------------------------------------------------------------------
*/
-void
-ds_ctg_v(hid_t fid, const char *dset_name, hbool_t write_data) {
+bool
+ds_ctg_v(hid_t fid, const char *dset_name, hbool_t write_data)
+{
hid_t dsid = -1;
hid_t sid = -1;
hid_t tid = -1;
@@ -2659,124 +2095,101 @@ ds_ctg_v(hid_t fid, const char *dset_name, hbool_t write_data) {
hvl_t *wdata = NULL;
unsigned u;
- if (pass) {
- sid = H5Screate_simple(1, dims, NULL);
+ sid = H5Screate_simple(1, dims, NULL);
- if (sid <= 0) {
- pass = FALSE;
- failure_mssg = "ds_ctg_v: H5Screate_simple";
- }
- HDassert(sid > 0);
+ if (sid <= 0) {
+ failure_mssg = "ds_ctg_v: H5Screate_simple";
+ return false;
}
- if (pass) {
- tid = H5Tvlen_create(H5T_NATIVE_INT);
+ tid = H5Tvlen_create(H5T_NATIVE_INT);
- if (tid <= 0) {
- pass = FALSE;
- failure_mssg = "ds_ctg_v: H5Tvlen_create() failed.";
- }
- HDassert(tid > 0);
+ if (tid <= 0) {
+ failure_mssg = "ds_ctg_v: H5Tvlen_create() failed.";
+ return false;
}
- if (pass) {
- dsid = H5Dcreate2(fid, dset_name, tid, sid, H5P_DEFAULT,
- H5P_DEFAULT, H5P_DEFAULT);
+ dsid = H5Dcreate2(fid, dset_name, tid, sid, H5P_DEFAULT,
+ H5P_DEFAULT, H5P_DEFAULT);
- if (dsid <= 0) {
- pass = FALSE;
- failure_mssg = "ds_ctg_v: H5Dcreate2() failed.";
- }
- HDassert(dsid > 0);
+ if (dsid <= 0) {
+ failure_mssg = "ds_ctg_v: H5Dcreate2() failed.";
+ return false;
}
- if ((pass) && (write_data)) {
- wdata = (hvl_t *) HDmalloc(sizeof(hvl_t) * DSET_SMALL_DIMS);
+ if (write_data) {
+ wdata = HDmalloc(sizeof(hvl_t) * DSET_SMALL_DIMS);
if (!wdata) {
- pass = FALSE;
failure_mssg = "ds_ctg_v: HDmalloc of wdata failed.";
+ return false;
}
- HDassert(wdata);
- }
- if ((pass) && (write_data)) {
for (u = 0; u < DSET_SMALL_DIMS; u++) {
int *tdata;
unsigned len;
unsigned v;
len = (u % 10) + 1;
- tdata = (int *) HDmalloc(sizeof(int) * len);
+ tdata = HDmalloc(sizeof(int) * len);
if (!tdata) {
- pass = FALSE;
failure_mssg = "ds_ctg_v: HDmalloc of tdata failed.";
- break;
+ while (u > 0)
+ free(wdata[u--].p);
+ HDfree(wdata);
+ return false;
}
- HDassert(tdata);
for (v = 0; v < len; v++)
tdata[v] = (int) (u + v);
wdata[u].len = len;
wdata[u].p = tdata;
- } /* end for */
- }
+ }
- if ((pass) && (write_data)) {
ret = H5Dwrite(dsid, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "ds_ctg_v: H5Dwrite() failed.";
+ for (u = 0; u < DSET_SMALL_DIMS; u++)
+ free(wdata[u].p);
+ HDfree(wdata);
+ return false;
}
- HDassert(ret >= 0);
- }
- if ((pass) && (write_data)) {
ret = H5Treclaim(tid, sid, H5P_DEFAULT, wdata);
+ HDfree(wdata);
+
if (ret < 0) {
- pass = FALSE;
failure_mssg = "ds_ctg_v: H5Treclaim() failed.";
+ return false;
}
- HDassert(ret >= 0);
-
- HDfree(wdata);
- } /* end if */
+ }
- if (pass) {
- ret = H5Sclose(sid);
+ ret = H5Sclose(sid);
- if (sid < 0) {
- pass = FALSE;
- failure_mssg = "ds_ctg_v: H5Sclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "ds_ctg_v: H5Sclose() failed.";
+ return false;
}
- if (pass) {
- ret = H5Tclose(tid);
+ ret = H5Tclose(tid);
- if (tid < 0) {
- pass = FALSE;
- failure_mssg = "ds_ctg_v: H5Tclose() failed.";
- }
- HDassert(ret >= 0);
+ if (tid < 0) {
+ failure_mssg = "ds_ctg_v: H5Tclose() failed.";
+ return false;
}
- if (pass) {
- ret = H5Dclose(dsid);
+ ret = H5Dclose(dsid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "ds_ctg_v: H5Dclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "ds_ctg_v: H5Dclose() failed.";
+ return false;
}
- return;
+ return true;
} /* ds_ctg_v() */
@@ -2786,20 +2199,19 @@ ds_ctg_v(hid_t fid, const char *dset_name, hbool_t write_data) {
* Purpose: Validate a contiguous datasets w/variable-length datatypes.
* Validate data if indicated via the write_data parameter.
*
- * If pass is false on entry, do nothing.
- *
- * If an error is detected, set pass to FALSE, and set
+ * If an error is detected, return false, and set
* failure_mssg to point to an appropriate error message.
*
- * Return: void
+ * Return: true on success, false on failure.
*
* Programmer: John Mainzer
* 9/14/15
*
*-------------------------------------------------------------------------
*/
-void
-vrfy_ds_ctg_v(hid_t fid, const char *dset_name, hbool_t write_data) {
+bool
+vrfy_ds_ctg_v(hid_t fid, const char *dset_name, hbool_t write_data)
+{
hid_t dsid = -1;
hid_t sid = -1;
hid_t tid = -1;
@@ -2814,170 +2226,120 @@ vrfy_ds_ctg_v(hid_t fid, const char *dset_name, hbool_t write_data) {
unsigned u;
herr_t ret;
- if (pass) {
- dsid = H5Dopen2(fid, dset_name, H5P_DEFAULT);
+ dsid = H5Dopen2(fid, dset_name, H5P_DEFAULT);
- if (dsid <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_v: H5Dopen2() failed.";
- }
- HDassert(dsid > 0);
+ if (dsid <= 0) {
+ failure_mssg = "vrfy_ds_ctg_v: H5Dopen2() failed.";
+ return false;
}
- if (pass) {
- sid = H5Dget_space(dsid);
+ sid = H5Dget_space(dsid);
- if (sid <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_v: H5Dget_space() failed";
- }
- HDassert(sid > 0);
+ if (sid <= 0) {
+ failure_mssg = "vrfy_ds_ctg_v: H5Dget_space() failed";
+ return false;
}
- if (pass) {
- ndims = H5Sget_simple_extent_ndims(sid);
+ ndims = H5Sget_simple_extent_ndims(sid);
- if (1 != ndims) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_v: 1 != ndims";
- }
- HDassert(1 == ndims);
+ if (1 != ndims) {
+ failure_mssg = "vrfy_ds_ctg_v: 1 != ndims";
+ return false;
}
- if (pass) {
- ret = H5Sget_simple_extent_dims(sid, dims, max_dims);
+ ret = H5Sget_simple_extent_dims(sid, dims, max_dims);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_v: H5Sget_simple_extent_dims() failed.";
- }
- else if ( DSET_SMALL_DIMS != dims[0]) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_v: DSET_SMALL_DIMS != dims[0]";
- }
- else if ( DSET_SMALL_DIMS != max_dims[0]) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_v: DSET_SMALL_DIMS != max_dims[0]";
- }
- HDassert(ret >= 0);
- HDassert(DSET_SMALL_DIMS == dims[0]);
- HDassert(DSET_SMALL_DIMS == max_dims[0]);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_ctg_v: H5Sget_simple_extent_dims() failed.";
+ return false;
+ } else if ( DSET_SMALL_DIMS != dims[0]) {
+ failure_mssg = "vrfy_ds_ctg_v: DSET_SMALL_DIMS != dims[0]";
+ return false;
+ } else if ( DSET_SMALL_DIMS != max_dims[0]) {
+ failure_mssg = "vrfy_ds_ctg_v: DSET_SMALL_DIMS != max_dims[0]";
+ return false;
}
- if (pass) {
- tid = H5Dget_type(dsid);
+ tid = H5Dget_type(dsid);
- if (tid <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_v: H5Dget_type() failed.";
- }
- HDassert(tid > 0);
+ if (tid <= 0) {
+ failure_mssg = "vrfy_ds_ctg_v: H5Dget_type() failed.";
+ return false;
}
- if (pass) {
- tmp_tid = H5Tvlen_create(H5T_NATIVE_INT);
+ tmp_tid = H5Tvlen_create(H5T_NATIVE_INT);
- if (tmp_tid <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_v: H5Tvlen_create() failed.";
- }
- HDassert(tmp_tid > 0);
+ if (tmp_tid <= 0) {
+ failure_mssg = "vrfy_ds_ctg_v: H5Tvlen_create() failed.";
+ return false;
}
- if (pass) {
- type_equal = H5Tequal(tid, tmp_tid);
+ type_equal = H5Tequal(tid, tmp_tid);
- if (1 != type_equal) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_v: type != vlen H5T_NATIVE_INT";
- }
- HDassert(1 == type_equal);
+ if (1 != type_equal) {
+ failure_mssg = "vrfy_ds_ctg_v: type != vlen H5T_NATIVE_INT";
+ return false;
}
- if (pass) {
- ret = H5Tclose(tmp_tid);
+ ret = H5Tclose(tmp_tid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_v: H5Tclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_ctg_v: H5Tclose() failed.";
+ return false;
}
- if (pass) {
- ret = H5Dget_space_status(dsid, &allocation);
+ ret = H5Dget_space_status(dsid, &allocation);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_v: H5Dget_space_status() failed";
- }
- else if (write_data && (allocation != H5D_SPACE_STATUS_ALLOCATED)) {
- pass = FALSE;
- failure_mssg =
- "vrfy_ds_ctg_v: write_data && allocation != H5D_SPACE_STATUS_ALLOCATED";
- }
- else if (!write_data
- && (allocation != H5D_SPACE_STATUS_NOT_ALLOCATED)) {
- pass = FALSE;
- failure_mssg =
- "vrfy_ds_ctg_v: !write_data && allocation != H5D_SPACE_STATUS_NOT_ALLOCATED";
- }
- HDassert(ret >= 0);
- HDassert((write_data && allocation == H5D_SPACE_STATUS_ALLOCATED)
- || (!write_data && allocation == H5D_SPACE_STATUS_NOT_ALLOCATED));
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_ctg_v: H5Dget_space_status() failed";
+ return false;
+ } else if (write_data && (allocation != H5D_SPACE_STATUS_ALLOCATED)) {
+ failure_mssg =
+ "vrfy_ds_ctg_v: write_data && allocation != H5D_SPACE_STATUS_ALLOCATED";
+ return false;
+ } else if (!write_data
+ && (allocation != H5D_SPACE_STATUS_NOT_ALLOCATED)) {
+ failure_mssg =
+ "vrfy_ds_ctg_v: !write_data && allocation != H5D_SPACE_STATUS_NOT_ALLOCATED";
+ return false;
}
- if (pass) {
- dcpl = H5Dget_create_plist(dsid);
+ dcpl = H5Dget_create_plist(dsid);
- if (dcpl <= 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_v: H5Dget_create_plist() failed.";
- }
- HDassert(dcpl > 0);
+ if (dcpl <= 0) {
+ failure_mssg = "vrfy_ds_ctg_v: H5Dget_create_plist() failed.";
+ return false;
}
- if (pass) {
- layout = H5Pget_layout(dcpl);
+ layout = H5Pget_layout(dcpl);
- if (H5D_CONTIGUOUS != layout) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_v: H5D_CONTIGUOUS != layout";
- }
- HDassert(H5D_CONTIGUOUS == layout);
+ if (H5D_CONTIGUOUS != layout) {
+ failure_mssg = "vrfy_ds_ctg_v: H5D_CONTIGUOUS != layout";
+ return false;
}
- if (pass) {
- ret = H5Pclose(dcpl);
+ ret = H5Pclose(dcpl);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_v: H5Pclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_ctg_v: H5Pclose() failed.";
+ return false;
}
- if ((pass) && (write_data)) {
- rdata = (hvl_t *) HDmalloc(sizeof(hvl_t) * DSET_SMALL_DIMS);
+ if (write_data) {
+ rdata = HDmalloc(sizeof(hvl_t) * DSET_SMALL_DIMS);
if (!rdata) {
- pass = FALSE;
failure_mssg = "vrfy_ds_ctg_v: HDmalloc of rdata failed.";
+ return false;
}
- HDassert(rdata);
- }
- if ((pass) && (write_data)) {
ret = H5Dread(dsid, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata);
if (ret < 0) {
- pass = FALSE;
failure_mssg = "vrfy_ds_ctg_v: H5Dread() failed.";
+ return false;
}
- HDassert(ret >= 0);
- }
- if ((pass) && (write_data)) {
for (u = 0; u < DSET_SMALL_DIMS; u++) {
unsigned len;
unsigned v;
@@ -2987,64 +2349,47 @@ vrfy_ds_ctg_v(hid_t fid, const char *dset_name, hbool_t write_data) {
int *tdata = (int *) rdata[u].p;
if (!tdata) {
- pass = FALSE;
failure_mssg = "vrfy_ds_ctg_v: !tdata";
- break;
- }
- else if ((int) (u + v) != tdata[v]) {
- pass = FALSE;
+ return false;
+ } else if ((int) (u + v) != tdata[v]) {
failure_mssg = "vrfy_ds_ctg_v: (int)(u + v) != tdata[v]";
- break;
+ return false;
}
- HDassert(tdata);
- HDassert((int )(u + v) == tdata[v]);
- } /* end for */
- } /* end for */
- }
+ }
+ }
- if ((pass) && (write_data)) {
ret = H5Treclaim(tid, sid, H5P_DEFAULT, rdata);
+ HDfree(rdata);
+
if (ret < 0) {
- pass = FALSE;
failure_mssg = "vrfy_ds_ctg_v: H5Treclaim() failed.";
+ return false;
}
- HDassert(ret >= 0);
-
- HDfree(rdata);
- } /* end if */
+ }
- if (pass) {
- ret = H5Sclose(sid);
+ ret = H5Sclose(sid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_v: H5Sclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_ctg_v: H5Sclose() failed.";
+ return false;
}
- if (pass) {
- ret = H5Tclose(tid);
+ ret = H5Tclose(tid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_v: H5Tclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_ctg_v: H5Tclose() failed.";
+ return false;
}
- if (pass) {
- ret = H5Dclose(dsid);
+ ret = H5Dclose(dsid);
- if (ret < 0) {
- pass = FALSE;
- failure_mssg = "vrfy_ds_ctg_v: H5Dclose() failed.";
- }
- HDassert(ret >= 0);
+ if (ret < 0) {
+ failure_mssg = "vrfy_ds_ctg_v: H5Dclose() failed.";
+ return false;
}
- return;
+ return true;
} /* vrfy_ds_ctg_v() */
/* Create or, if `validate` is true, validate objects in file `fid` under
@@ -3053,10 +2398,11 @@ vrfy_ds_ctg_v(hid_t fid, const char *dset_name, hbool_t write_data) {
*
* The valid selectors are consecutive and they start at 0.
*
- * If the selected objects cannot be created/validated, `pass` may be set
+ * If the selected objects cannot be created/validated, `*okp` will be set
* to `false`, indicating that the selected objects could not be
* created/validated, and `failure_mmsg` set to a description of the error
- * that occurred.
+ * that occurred. If the objects can be created/validated, then `*okp`
+ * will be set to `true`.
*
* The program may also fail an assert()ion if the selected objects cannot
* be created/validated.
@@ -3065,74 +2411,77 @@ vrfy_ds_ctg_v(hid_t fid, const char *dset_name, hbool_t write_data) {
*/
static bool
create_or_validate_selection(hid_t fid, const char *full_path, int proc_num,
- int selector, bool skip_varlen, bool validate)
+ int selector, bool skip_varlen, bool validate, bool *okp)
{
const bool wr = !validate;
+ bool ok;
switch (selector) {
case 0: /* Add & verify an empty "new style" group */
- wr ? ns_grp_0(fid, full_path) : vrfy_ns_grp_0(fid, full_path);
+ ok = wr ? ns_grp_0(fid, full_path) : vrfy_ns_grp_0(fid, full_path);
break;
case 1: /* Add & verify a compact "new style" group (3 link messages) */
- wr ? ns_grp_c(fid, full_path, 3) : vrfy_ns_grp_c(fid, full_path, 3);
+ ok = wr ? ns_grp_c(fid, full_path, 3)
+ : vrfy_ns_grp_c(fid, full_path, 3);
break;
case 2:
/* Add & verify a dense "new style" group (w/300 links,
* in v2 B-tree & fractal heap)
*/
- wr ? ns_grp_d(fid, full_path, 300) : vrfy_ns_grp_d(fid, full_path, 300);
+ ok = wr ? ns_grp_d(fid, full_path, 300)
+ : vrfy_ns_grp_d(fid, full_path, 300);
break;
case 3: /* Add & verify an empty "old style" group to file */
- wr ? os_grp_0(fid, full_path) : vrfy_os_grp_0(fid, full_path);
+ ok = wr ? os_grp_0(fid, full_path) : vrfy_os_grp_0(fid, full_path);
break;
case 4:
/* Add & verify an "old style" group (w/300 links, in
* v1 B-tree & local heap) to file
*/
- wr ? os_grp_n(fid, full_path, proc_num, 300)
- : vrfy_os_grp_n(fid, full_path, proc_num, 300);
+ ok = wr ? os_grp_n(fid, full_path, proc_num, 300)
+ : vrfy_os_grp_n(fid, full_path, proc_num, 300);
break;
case 5:
/* Add & verify a contiguous dataset w/integer datatype (but no data)
* to file
*/
- wr ? ds_ctg_i(fid, full_path, FALSE)
- : vrfy_ds_ctg_i(fid, full_path, FALSE);
+ ok = wr ? ds_ctg_i(fid, full_path, FALSE)
+ : vrfy_ds_ctg_i(fid, full_path, FALSE);
break;
case 6:
/* Add & verify a contiguous dataset w/integer datatype (with data)
* to file
*/
- wr ? ds_ctg_i(fid, full_path, TRUE)
- : vrfy_ds_ctg_i(fid, full_path, TRUE);
+ ok = wr ? ds_ctg_i(fid, full_path, TRUE)
+ : vrfy_ds_ctg_i(fid, full_path, TRUE);
break;
case 7:
/* Add & verify a chunked dataset w/integer datatype (but no data)
* to file
*/
- wr ? ds_chk_i(fid, full_path, FALSE)
- : vrfy_ds_chk_i(fid, full_path, FALSE);
+ ok = wr ? ds_chk_i(fid, full_path, FALSE)
+ : vrfy_ds_chk_i(fid, full_path, FALSE);
break;
case 8:
/* Add & verify a chunked dataset w/integer datatype (and data)
* to file
*/
- wr ? ds_chk_i(fid, full_path, TRUE)
- : vrfy_ds_chk_i(fid, full_path, TRUE);
+ ok = wr ? ds_chk_i(fid, full_path, TRUE)
+ : vrfy_ds_chk_i(fid, full_path, TRUE);
break;
case 9:
/* Add & verify a compact dataset w/integer datatype (but no data)
* to file
*/
- wr ? ds_cpt_i(fid, full_path, FALSE)
- : vrfy_ds_cpt_i(fid, full_path, FALSE);
+ ok = wr ? ds_cpt_i(fid, full_path, FALSE)
+ : vrfy_ds_cpt_i(fid, full_path, FALSE);
break;
case 10:
/* Add & verify a compact dataset w/integer datatype (and data)
* to file
*/
- wr ? ds_cpt_i(fid, full_path, TRUE)
- : vrfy_ds_cpt_i(fid, full_path, TRUE);
+ ok = wr ? ds_cpt_i(fid, full_path, TRUE)
+ : vrfy_ds_cpt_i(fid, full_path, TRUE);
break;
case 11:
if (skip_varlen)
@@ -3140,8 +2489,8 @@ create_or_validate_selection(hid_t fid, const char *full_path, int proc_num,
/* Add & verify a contiguous dataset w/variable-length datatype
* (but no data) to file
*/
- wr ? ds_ctg_v(fid, full_path, FALSE)
- : vrfy_ds_ctg_v(fid, full_path, FALSE);
+ ok = wr ? ds_ctg_v(fid, full_path, FALSE)
+ : vrfy_ds_ctg_v(fid, full_path, FALSE);
break;
case 12:
if (skip_varlen)
@@ -3149,12 +2498,13 @@ create_or_validate_selection(hid_t fid, const char *full_path, int proc_num,
/* Add & verify a contiguous dataset w/variable-length datatype
* (and data) to file
*/
- wr ? ds_ctg_v(fid, full_path, TRUE)
- : vrfy_ds_ctg_v(fid, full_path, TRUE);
+ ok = wr ? ds_ctg_v(fid, full_path, TRUE)
+ : vrfy_ds_ctg_v(fid, full_path, TRUE);
break;
default:
return false;
}
+ *okp = ok;
return true;
}
@@ -3162,8 +2512,10 @@ create_or_validate_selection(hid_t fid, const char *full_path, int proc_num,
* validate objects in file `fid` under group `base_path`. `proc_num`
* tells the processor number the test runs on. If `skip_varlen` is
* true, do NOT perform tests that use variable-length data.
+ *
+ * Return true if all tests pass, false if any test fails.
*/
-static void
+static bool
tend_zoo(hid_t fid, const char *base_path, int proc_num, bool skip_varlen,
bool only_validate)
{
@@ -3171,32 +2523,34 @@ tend_zoo(hid_t fid, const char *base_path, int proc_num, bool skip_varlen,
char full_path[1024];
int i, nwritten;
char *leafp;
+ bool ok = true;
nwritten = snprintf(full_path, sizeof(full_path), "%s/*", base_path);
if (nwritten < 0 || (size_t)nwritten >= sizeof(full_path)) {
- pass = false;
failure_mssg = "create_zoo: snprintf failed";
- return;
+ return false;
}
if ((leafp = strrchr(full_path, '*')) == NULL) {
- pass = false;
failure_mssg = "create_zoo: strrchr failed";
- return;
+ return false;
}
- for (i = 0; pass; i++) {
+ for (i = 0; ok; i++) {
assert('A' + i <= 'Z');
*leafp = (char)('A' + i);
if (create &&
!create_or_validate_selection(fid, full_path, proc_num, i,
- skip_varlen, false))
+ skip_varlen, false, &ok))
break;
zoo_create_hook(fid);
if (!create_or_validate_selection(fid, full_path, proc_num, i,
- skip_varlen, true))
+ skip_varlen, true, &ok))
break;
}
+ if (!ok)
+ fprintf(stderr, "%s: %s\n", __func__, failure_mssg);
+ return ok;
}
/*-------------------------------------------------------------------------
@@ -3207,9 +2561,7 @@ tend_zoo(hid_t fid, const char *base_path, int proc_num, bool skip_varlen,
* include instances of all on disk data structures used
* in the HDF5 library.
*
- * If pass is false on entry, do nothing.
- *
- * If an error is detected, set pass to FALSE, and set
+ * If an error is detected, return false, and set
* failure_mssg to point to an appropriate error message.
*
* This function was initially created to assist in testing
@@ -3222,10 +2574,10 @@ tend_zoo(hid_t fid, const char *base_path, int proc_num, bool skip_varlen,
*-------------------------------------------------------------------------
*/
-void
+bool
create_zoo(hid_t fid, const char *base_path, int proc_num, bool skip_varlen)
{
- tend_zoo(fid, base_path, proc_num, skip_varlen, false);
+ return tend_zoo(fid, base_path, proc_num, skip_varlen, false);
}
/*-------------------------------------------------------------------------
@@ -3234,9 +2586,7 @@ create_zoo(hid_t fid, const char *base_path, int proc_num, bool skip_varlen)
* Purpose: Given the path to a group in which a "zoo" has been
* constructed, validate the objects in the "zoo".
*
- * If pass is false on entry, do nothing.
- *
- * If an error is detected, set pass to FALSE, and set
+ * If an error is detected, return false, and set
* failure_mssg to point to an appropriate error message.
*
* This function was initially created to assist in testing
@@ -3249,9 +2599,9 @@ create_zoo(hid_t fid, const char *base_path, int proc_num, bool skip_varlen)
*-------------------------------------------------------------------------
*/
-void
+bool
validate_zoo(hid_t fid, const char *base_path, int proc_num, bool skip_varlen)
{
- tend_zoo(fid, base_path, proc_num, skip_varlen, true);
+ return tend_zoo(fid, base_path, proc_num, skip_varlen, true);
}
diff --git a/test/genall5.h b/test/genall5.h
index 10f621b..3878da1 100644
--- a/test/genall5.h
+++ b/test/genall5.h
@@ -18,38 +18,38 @@
* in genall5.c
*/
-void create_zoo(hid_t fid, const char *base_path, int proc_num,
+bool create_zoo(hid_t fid, const char *base_path, int proc_num,
bool skip_varlen);
-void validate_zoo(hid_t fid, const char *base_path, int proc_num,
+bool validate_zoo(hid_t fid, const char *base_path, int proc_num,
bool skip_varlen);
-void ns_grp_0(hid_t fid, const char *group_name);
-void vrfy_ns_grp_0(hid_t fid, const char *group_name);
+bool ns_grp_0(hid_t fid, const char *group_name);
+bool vrfy_ns_grp_0(hid_t fid, const char *group_name);
-void ns_grp_c(hid_t fid, const char *group_name, unsigned nlinks);
-void vrfy_ns_grp_c(hid_t fid, const char *group_name, unsigned nlinks);
+bool ns_grp_c(hid_t fid, const char *group_name, unsigned nlinks);
+bool vrfy_ns_grp_c(hid_t fid, const char *group_name, unsigned nlinks);
-void ns_grp_d(hid_t fid, const char *group_name, unsigned nlinks);
-void vrfy_ns_grp_d(hid_t fid, const char *group_name, unsigned nlinks);
+bool ns_grp_d(hid_t fid, const char *group_name, unsigned nlinks);
+bool vrfy_ns_grp_d(hid_t fid, const char *group_name, unsigned nlinks);
-void os_grp_0(hid_t fid, const char *group_name);
-void vrfy_os_grp_0(hid_t fid, const char *group_name);
+bool os_grp_0(hid_t fid, const char *group_name);
+bool vrfy_os_grp_0(hid_t fid, const char *group_name);
-void os_grp_n(hid_t fid, const char *group_name, int proc_num, unsigned nlinks);
-void vrfy_os_grp_n(hid_t fid, const char *group_name, int proc_num,
+bool os_grp_n(hid_t fid, const char *group_name, int proc_num, unsigned nlinks);
+bool vrfy_os_grp_n(hid_t fid, const char *group_name, int proc_num,
unsigned nlinks);
-void ds_ctg_i(hid_t fid, const char *dset_name, hbool_t write_data);
-void vrfy_ds_ctg_i(hid_t fid, const char *dset_name, hbool_t write_data);
+bool ds_ctg_i(hid_t fid, const char *dset_name, hbool_t write_data);
+bool vrfy_ds_ctg_i(hid_t fid, const char *dset_name, hbool_t write_data);
-void ds_chk_i(hid_t fid, const char *dset_name, hbool_t write_data);
-void vrfy_ds_chk_i(hid_t fid, const char *dset_name, hbool_t write_data);
+bool ds_chk_i(hid_t fid, const char *dset_name, hbool_t write_data);
+bool vrfy_ds_chk_i(hid_t fid, const char *dset_name, hbool_t write_data);
-void ds_cpt_i(hid_t fid, const char *dset_name, hbool_t write_data);
-void vrfy_ds_cpt_i(hid_t fid, const char *dset_name, hbool_t write_data);
+bool ds_cpt_i(hid_t fid, const char *dset_name, hbool_t write_data);
+bool vrfy_ds_cpt_i(hid_t fid, const char *dset_name, hbool_t write_data);
-void ds_ctg_v(hid_t fid, const char *dset_name, hbool_t write_data);
-void vrfy_ds_ctg_v(hid_t fid, const char *dset_name, hbool_t write_data);
+bool ds_ctg_v(hid_t fid, const char *dset_name, hbool_t write_data);
+bool vrfy_ds_ctg_v(hid_t fid, const char *dset_name, hbool_t write_data);
/* Individual tests can override zoo_create_hook(), which is called
* after each step of create_zoo(). The `hid_t` argument identifies