summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2015-12-05 13:18:00 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2015-12-05 13:18:00 (GMT)
commitee0ecca9d85c08fd59f93b15ad4b37be33e43a90 (patch)
tree816a09c70b0888cec92d0c5ccb6194feede770a6 /test
parent3b46a9055e48d4d6cfb7a371399aa84cc4ea5511 (diff)
downloadhdf5-ee0ecca9d85c08fd59f93b15ad4b37be33e43a90.zip
hdf5-ee0ecca9d85c08fd59f93b15ad4b37be33e43a90.tar.gz
hdf5-ee0ecca9d85c08fd59f93b15ad4b37be33e43a90.tar.bz2
[svn-r28516] - Updated the SWMR unit test so that it passes on Windows.
- Re-disabled the cork test, which is still failing on Windows. Tested on: 64-bit Windows 10 w/ VS 2015 Pro & CMake 3.3.1 Ubuntu 15.10 (Linux 4.2.0 x86_64) w/ gcc 5.2.1 & CMake 3.3.2
Diffstat (limited to 'test')
-rw-r--r--test/CMakeLists.txt2
-rw-r--r--test/swmr.c2829
2 files changed, 1425 insertions, 1406 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 100f34f..6cb1c4e 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -210,7 +210,7 @@ set (H5_TESTS
stab
gheap
#cache_logging
- cork
+ #cork
pool
istore
bittests
diff --git a/test/swmr.c b/test/swmr.c
index bb447dc..cb7aa81 100644
--- a/test/swmr.c
+++ b/test/swmr.c
@@ -15,14 +15,14 @@
/***********************************************************
*
-* Test program: swmr
+* Test program: swmr
*
-* To test new public routines from SWMR project:
-* H5Pget/set_metadata_read_attempts()
-* H5Fget_metadata_read_retry_info()
-* H5Fstart_swmr_write()
-* H5Pget/set_object_flush_cb()
-* H5Pget/set_append_flush()
+* To test new public routines from SWMR project:
+* H5Pget/set_metadata_read_attempts()
+* H5Fget_metadata_read_retry_info()
+* H5Fstart_swmr_write()
+* H5Pget/set_object_flush_cb()
+* H5Pget/set_append_flush()
*
*************************************************************/
@@ -34,14 +34,14 @@
* This file needs to access private information from the H5F package.
* This file also needs to access the file testing code.
*/
-#define H5F_FRIEND /*suppress error about including H5Fpkg */
+#define H5F_FRIEND /*suppress error about including H5Fpkg */
#define H5F_TESTING
-#include "H5Fpkg.h" /* File access */
+#include "H5Fpkg.h" /* File access */
/* This file needs to access the file driver testing code */
-#define H5FD_FRIEND /*suppress error about including H5FDpkg */
+#define H5FD_FRIEND /*suppress error about including H5FDpkg */
#define H5FD_TESTING
-#include "H5FDpkg.h" /* File drivers */
+#include "H5FDpkg.h" /* File drivers */
#define H5D_FRIEND /*suppress error about including H5Dpkg */
#define H5D_TESTING
@@ -49,16 +49,16 @@
const char *FILENAME[] = {
- "swmr0", /* 0 */
- "swmr1", /* 1 */
+ "swmr0", /* 0 */
+ "swmr1", /* 1 */
NULL
};
-#define NAME_BUF_SIZE 1024 /* Length of file name */
+#define NAME_BUF_SIZE 1024 /* Length of file name */
/* Name of message file that is used by test_start_swmr_write_concur() */
-#define DONE_MESSAGE "DONE_MESSAGE" /* The message file to create */
+#define DONE_MESSAGE "DONE_MESSAGE" /* The message file to create */
/* Tests for H5Pget/set_metadata_read_attempts(), H5Fget_metadata_read_retry_info */
static int test_metadata_read_attempts(hid_t in_fapl);
@@ -100,18 +100,18 @@ static int test_swmr_vfd_flag(void);
* test_metadata_read_attempts():
*
* Checks the following two public routines work as specified:
- * H5Pset_metadata_read_attempts()
+ * H5Pset_metadata_read_attempts()
* H5Pget_metadata_read_attempts()
*/
static int
test_metadata_read_attempts(hid_t in_fapl)
{
- hid_t fapl; /* File access property list */
- hid_t file_fapl; /* The file's access property list */
- hid_t fid, fid1, fid2; /* File IDs */
- unsigned attempts; /* The # of read attempts */
+ hid_t fapl; /* File access property list */
+ hid_t file_fapl; /* The file's access property list */
+ hid_t fid, fid1, fid2; /* File IDs */
+ unsigned attempts; /* The # of read attempts */
char filename[NAME_BUF_SIZE]; /* File name */
- herr_t ret; /* Generic return value */
+ herr_t ret; /* Generic return value */
/* Output message about test being performed */
TESTING("H5Pget/set_metadata_read_attempts()");
@@ -125,86 +125,86 @@ test_metadata_read_attempts(hid_t in_fapl)
/*
* Set A:
- * Tests on verifying the # of read attempts when:
+ * Tests on verifying the # of read attempts when:
* --setting/getting read attempts from a
- * file access property list.
+ * file access property list.
*/
/* Get # of read attempts -- should be the default: 1 */
if(H5Pget_metadata_read_attempts(fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(attempts != 1)
TEST_ERROR
/* Set the # of read attempts to 0--should fail */
H5E_BEGIN_TRY {
- ret = H5Pset_metadata_read_attempts(fapl, 0);
+ ret = H5Pset_metadata_read_attempts(fapl, 0);
} H5E_END_TRY;
if(ret >= 0)
- TEST_ERROR
+ TEST_ERROR
/* Set the # of read attempts to a # > 0--should succeed */
if(H5Pset_metadata_read_attempts(fapl, 9) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Retrieve the # of read attempts -- should be 9 */
if(H5Pget_metadata_read_attempts(fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(attempts != 9)
TEST_ERROR
/* Set the # of read attempts to the default for non-SWMR access: H5F_METADATA_READ_ATTEMPTS --should succeed */
if(H5Pset_metadata_read_attempts(fapl, H5F_METADATA_READ_ATTEMPTS) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Retrieve the # of read attempts -- should be H5F_METADATA_READ_ATTEMPTS */
if(H5Pget_metadata_read_attempts(fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(attempts != H5F_METADATA_READ_ATTEMPTS)
- TEST_ERROR
+ TEST_ERROR
/* Set the # of read attempts to the default for SWMR access: H5F_SWMR_METADATA_READ_ATEMPTS --should succeed */
if(H5Pset_metadata_read_attempts(fapl, H5F_SWMR_METADATA_READ_ATTEMPTS) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Retrieve the # of read attempts -- should be H5F_SWMR_METADATA_READ_ATTEMPTS */
if(H5Pget_metadata_read_attempts(fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(attempts != H5F_SWMR_METADATA_READ_ATTEMPTS)
- TEST_ERROR
+ TEST_ERROR
/* Close the property list */
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/*
* Set B:
- * Tests on verifying read attempts when:
- * --create a file with non-SWMR access
- * --opening files with SWMR access
- * --using default or non-default file access property list
+ * Tests on verifying read attempts when:
+ * --create a file with non-SWMR access
+ * --opening files with SWMR access
+ * --using default or non-default file access property list
*/
/* Test 1 */
/* Create a file with non-SWMR access and default fapl */
if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get file's fapl */
if((file_fapl = H5Fget_access_plist(fid)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the # of read attempts from file's fapl -- should be H5F_METADATA_READ_ATTEMPTS */
if(H5Pget_metadata_read_attempts(file_fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(attempts != H5F_METADATA_READ_ATTEMPTS)
- TEST_ERROR
+ TEST_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close file's fapl */
if(H5Pclose(file_fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Test 2 */
/* Get a copy of the parameter fapl */
@@ -213,33 +213,33 @@ test_metadata_read_attempts(hid_t in_fapl)
/* Set to use latest library format */
if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Open the file with SWMR access and default read attempts */
if((fid = H5Fopen(filename, (H5F_ACC_RDONLY | H5F_ACC_SWMR_READ), fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close fapl */
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get file's fapl */
if((file_fapl = H5Fget_access_plist(fid)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the # of read attempts from file's fapl -- should be H5F_SWMR_METADATA_READ_ATTEMPTS */
if(H5Pget_metadata_read_attempts(file_fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(attempts != H5F_SWMR_METADATA_READ_ATTEMPTS)
- TEST_ERROR
+ TEST_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close file's fapl */
if(H5Pclose(file_fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Test 3 */
/* Get a copy of the parameter fapl */
@@ -248,37 +248,37 @@ test_metadata_read_attempts(hid_t in_fapl)
/* Set to use latest library format */
if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Set the # of read attempts */
if(H5Pset_metadata_read_attempts(fapl, 9) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Open the file with SWMR access and fapl (non-default & set to 9) */
if((fid = H5Fopen(filename, (H5F_ACC_RDONLY | H5F_ACC_SWMR_READ), fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close fapl */
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get file's fapl */
if((file_fapl = H5Fget_access_plist(fid)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the # of read attempts from file's fapl -- should be 9 */
if(H5Pget_metadata_read_attempts(file_fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(attempts != 9)
TEST_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close file's fapl */
if(H5Pclose(file_fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Test 4 */
/* Get a copy of the parameter fapl */
@@ -287,37 +287,37 @@ test_metadata_read_attempts(hid_t in_fapl)
/* Set to use latest library format */
if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Set the # of read attempts */
if(H5Pset_metadata_read_attempts(fapl, 1) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Open the file with SWMR access and fapl (non-default & set to 1) */
if((fid = H5Fopen(filename, (H5F_ACC_RDONLY | H5F_ACC_SWMR_READ), fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close fapl */
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get file's fapl */
if((file_fapl = H5Fget_access_plist(fid)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the # of read attempts from file fapl -- should be 1 */
if(H5Pget_metadata_read_attempts(file_fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(attempts != 1)
TEST_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close file's fapl */
if(H5Pclose(file_fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Test 5 */
/* Get a copy of the parameter fapl */
@@ -326,40 +326,40 @@ test_metadata_read_attempts(hid_t in_fapl)
/* Set to use latest library format */
if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Open the file with SWMR_READ and fapl (non-default read attempts but unset) */
if((fid = H5Fopen(filename, (H5F_ACC_RDONLY | H5F_ACC_SWMR_READ), fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close fapl */
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get file's fapl */
if((file_fapl = H5Fget_access_plist(fid)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the # of read attempts from file's fapl -- should be H5F_SWMR_METADATA_READ_ATTEMPTS */
if(H5Pget_metadata_read_attempts(file_fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(attempts != H5F_SWMR_METADATA_READ_ATTEMPTS)
- TEST_ERROR
+ TEST_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close file's fapl */
if(H5Pclose(file_fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/*
* Set C:
- * Tests on verifying read attempts when:
- * --create a file with SWMR access
- * --opening files with non-SWMR access
- * --using default or non-default file access property list
+ * Tests on verifying read attempts when:
+ * --create a file with SWMR access
+ * --opening files with non-SWMR access
+ * --using default or non-default file access property list
*/
/* Test 1 */
/* Get a copy of the parameter fapl */
@@ -368,56 +368,56 @@ test_metadata_read_attempts(hid_t in_fapl)
/* Set to use latest library format */
if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Create a file with non-SWMR access and default read attempts */
if((fid = H5Fcreate(filename, H5F_ACC_TRUNC|H5F_ACC_SWMR_WRITE, H5P_DEFAULT, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close fapl */
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get file's fapl */
if((file_fapl = H5Fget_access_plist(fid)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the # of read attempts from file's fapl -- should be H5F_SWMR_METADATA_READ_ATTEMPTS */
if(H5Pget_metadata_read_attempts(file_fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(attempts != H5F_SWMR_METADATA_READ_ATTEMPTS)
- TEST_ERROR
+ TEST_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close file's fapl */
if(H5Pclose(file_fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Test 2 */
/* Open the file with non-SWMR access and default fapl */
if((fid = H5Fopen(filename, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get file's fapl */
if((file_fapl = H5Fget_access_plist(fid)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the # of read attempts from file's fapl -- should be H5F_METADATA_READ_ATTEMPTS */
if(H5Pget_metadata_read_attempts(file_fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(attempts != H5F_METADATA_READ_ATTEMPTS)
- TEST_ERROR
+ TEST_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close file's fapl */
if(H5Pclose(file_fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Test 3 */
/* Get a copy of the parameter fapl */
@@ -426,33 +426,33 @@ test_metadata_read_attempts(hid_t in_fapl)
/* Set the # of read attempts */
if(H5Pset_metadata_read_attempts(fapl, 9) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Open the file with non-SWMR access and fapl (non-default & set to 9) */
if((fid = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close fapl */
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get file's fapl */
if((file_fapl = H5Fget_access_plist(fid)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the # of read attempts from file's fapl -- should be H5F_METADATA_READ_ATTEMPTS */
if(H5Pget_metadata_read_attempts(file_fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(attempts != H5F_METADATA_READ_ATTEMPTS)
- TEST_ERROR
+ TEST_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close file's fapl */
if(H5Pclose(file_fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Test 4 */
/* Get a copy of the parameter fapl */
@@ -461,33 +461,33 @@ test_metadata_read_attempts(hid_t in_fapl)
/* Set the # of read attempts */
if(H5Pset_metadata_read_attempts(fapl, 1) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Open the file with non-SWMR access and fapl (non-default & set to 1) */
if((fid = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close fapl */
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get file's fapl */
if((file_fapl = H5Fget_access_plist(fid)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the # of read attempts from file fapl -- should be 1 */
if(H5Pget_metadata_read_attempts(file_fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(attempts != 1)
TEST_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close file's fapl */
if(H5Pclose(file_fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Test 5 */
/* Get a copy of the parameter fapl */
@@ -496,29 +496,29 @@ test_metadata_read_attempts(hid_t in_fapl)
/* Open the file with non-SWMR_READ and fapl (non-default but unset) */
if((fid = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close fapl */
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get file's fapl */
if((file_fapl = H5Fget_access_plist(fid)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the # of read attempts from file's fapl -- should be H5F_METADATA_READ_ATTEMPTS */
if(H5Pget_metadata_read_attempts(file_fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(attempts != H5F_METADATA_READ_ATTEMPTS)
- TEST_ERROR
+ TEST_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close file's fapl */
if(H5Pclose(file_fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get a copy of the parameter fapl */
if((fapl = H5Pcopy(in_fapl)) < 0)
@@ -526,45 +526,45 @@ test_metadata_read_attempts(hid_t in_fapl)
/* Set to use latest library format */
if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Set the # of read attempts */
if(H5Pset_metadata_read_attempts(fapl, 9) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Create a file */
if((fid = H5Fcreate(filename, H5F_ACC_TRUNC|H5F_ACC_SWMR_WRITE, H5P_DEFAULT, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close fapl */
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Open file again with non-SWMR access and default fapl */
if((fid = H5Fopen(filename, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get file's fapl */
if((file_fapl = H5Fget_access_plist(fid)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the # of read attempts from file fapl -- should be H5F_METADATA_READ_ATTEMPTS */
if(H5Pget_metadata_read_attempts(file_fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(attempts != H5F_METADATA_READ_ATTEMPTS)
- TEST_ERROR
+ TEST_ERROR
/* Close the file's fapl */
if(H5Pclose(file_fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get a copy of the parameter fapl */
if((fapl = H5Pcopy(in_fapl)) < 0)
@@ -572,49 +572,49 @@ test_metadata_read_attempts(hid_t in_fapl)
/* Set to use latest library format */
if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Open file again with SWMR access and default read attempts */
if((fid = H5Fopen(filename, H5F_ACC_SWMR_READ, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close fapl */
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get file's fapl */
if((file_fapl = H5Fget_access_plist(fid)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the # of read attempts from file fapl -- should be H5F_SWMR_METADATA_READ_ATTEMPTS */
if(H5Pget_metadata_read_attempts(file_fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(attempts != H5F_SWMR_METADATA_READ_ATTEMPTS)
- TEST_ERROR
+ TEST_ERROR
/* Close the file's fapl */
if(H5Pclose(file_fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/*
* Set D:
- * Tests on verifying read attempts when:
+ * Tests on verifying read attempts when:
* --create with non-SWMR access
- * --opening files with SWMR access
+ * --opening files with SWMR access
* --H5reopen the files
*/
/* Create a file */
if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get a copy of the parameter fapl */
if((fapl = H5Pcopy(in_fapl)) < 0)
@@ -622,79 +622,79 @@ test_metadata_read_attempts(hid_t in_fapl)
/* Set to use latest library format */
if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Open file again with SWMR access and default read attempts */
if((fid1 = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_READ, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Set the # of read attempts */
if(H5Pset_metadata_read_attempts(fapl, 9) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Open file again with SWMR access and fapl (non-default & set to 9) */
if((fid2 = H5Fopen(filename, (H5F_ACC_RDONLY | H5F_ACC_SWMR_READ), fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close fapl */
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Re-open fid1 */
if((fid = H5Freopen(fid1)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get file's fapl */
if((file_fapl = H5Fget_access_plist(fid)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the # of read attempts from file fapl -- should be H5F_SWMR_METADATA_READ_ATTEMPTS */
if(H5Pget_metadata_read_attempts(file_fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(attempts != H5F_SWMR_METADATA_READ_ATTEMPTS)
- TEST_ERROR
+ TEST_ERROR
/* Close the file's fapl */
if(H5Pclose(file_fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Re-open fid2 */
if((fid = H5Freopen(fid2)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get file's fapl */
if((file_fapl = H5Fget_access_plist(fid)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the # of read attempts from file fapl -- should be H5F_SWMR_METADATA_READ_ATTEMPTS, not 9 */
if(H5Pget_metadata_read_attempts(file_fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(attempts != H5F_SWMR_METADATA_READ_ATTEMPTS)
- TEST_ERROR
+ TEST_ERROR
/* Close the file's fapl */
if(H5Pclose(file_fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close all the files */
if(H5Fclose(fid1) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(H5Fclose(fid2) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/*
* Set E:
- * Tests on verifying read attempts when:
+ * Tests on verifying read attempts when:
* --create with SWMR access
- * --opening files with non-SWMR access
+ * --opening files with non-SWMR access
* --H5reopen the files
*/
@@ -704,23 +704,23 @@ test_metadata_read_attempts(hid_t in_fapl)
/* Set to use latest library format */
if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Create a file */
if((fid = H5Fcreate(filename, H5F_ACC_TRUNC|H5F_ACC_SWMR_WRITE, H5P_DEFAULT, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close fapl */
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Open file again with non-SWMR access and default fapl */
if((fid1 = H5Fopen(filename, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get a copy of the parameter fapl */
if((fapl = H5Pcopy(in_fapl)) < 0)
@@ -728,65 +728,65 @@ test_metadata_read_attempts(hid_t in_fapl)
/* Set the # of read attempts */
if(H5Pset_metadata_read_attempts(fapl, 9) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Open file again with non-SWMR access and fapl (non-default & set to 9) */
if((fid2 = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close fapl */
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Re-open fid1 */
if((fid = H5Freopen(fid1)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get file's fapl */
if((file_fapl = H5Fget_access_plist(fid)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the # of read attempts from file fapl -- should be H5F_METADATA_READ_ATTEMPTS */
if(H5Pget_metadata_read_attempts(file_fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(attempts != H5F_METADATA_READ_ATTEMPTS)
- TEST_ERROR
+ TEST_ERROR
/* Close the file's fapl */
if(H5Pclose(file_fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Re-open fid2 */
if((fid = H5Freopen(fid2)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get file's fapl */
if((file_fapl = H5Fget_access_plist(fid)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the # of read attempts from file fapl -- should be H5F_METADATA_READ_ATTEMPTS */
if(H5Pget_metadata_read_attempts(file_fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(attempts != H5F_METADATA_READ_ATTEMPTS)
- TEST_ERROR
+ TEST_ERROR
/* Close the file's fapl */
if(H5Pclose(file_fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close all the files */
if(H5Fclose(fid1) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(H5Fclose(fid2) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
PASSED();
return 0;
@@ -815,20 +815,20 @@ error:
static int
test_metadata_read_retry_info(hid_t in_fapl)
{
- hid_t fapl, new_fapl; /* File access property list */
- hid_t fid, fid1; /* File IDs */
- H5F_retry_info_t info, info1; /* The collection of metadata retries */
- H5F_t *f = NULL, *f1 = NULL; /* Internal file object pointers */
- unsigned i, j, n; /* Local index variables */
- hid_t did1, did2; /* Dataset IDs */
- hid_t sid; /* Dataspace ID */
- hid_t dcpl; /* Dataset creation property list */
- hsize_t dims[2] = {6, 10}; /* Dataset dimensions */
+ hid_t fapl, new_fapl; /* File access property list */
+ hid_t fid, fid1; /* File IDs */
+ H5F_retry_info_t info, info1; /* The collection of metadata retries */
+ H5F_t *f = NULL, *f1 = NULL; /* Internal file object pointers */
+ unsigned i, j, n; /* Local index variables */
+ hid_t did1, did2; /* Dataset IDs */
+ hid_t sid; /* Dataspace ID */
+ hid_t dcpl; /* Dataset creation property list */
+ hsize_t dims[2] = {6, 10}; /* Dataset dimensions */
char filename[NAME_BUF_SIZE]; /* File name */
- int buf[6][10], chkbuf1[6][10], chkbuf2[6][10]; /* Buffers for data */
- hsize_t max_dims_1un[2] = {H5S_UNLIMITED, H5S_UNLIMITED}; /* Dataset maximum dimensions */
- hsize_t max_dims_2un[2] = {500, H5S_UNLIMITED}; /* Dataset maximum dimensions */
- hsize_t chunk_dims[2] = {2, 2}; /* Chunk dimensions */
+ int buf[6][10], chkbuf1[6][10], chkbuf2[6][10]; /* Buffers for data */
+ hsize_t max_dims_1un[2] = {H5S_UNLIMITED, H5S_UNLIMITED}; /* Dataset maximum dimensions */
+ hsize_t max_dims_2un[2] = {500, H5S_UNLIMITED}; /* Dataset maximum dimensions */
+ hsize_t chunk_dims[2] = {2, 2}; /* Chunk dimensions */
/* Output message about test being performed */
TESTING("H5Fset_metadata_read_retry_info()");
@@ -870,7 +870,7 @@ test_metadata_read_retry_info(hid_t in_fapl)
/* Initialize buffer data */
for(i = n = 0; i < 6; i++)
- for(j = 0; j < 10; j++)
+ for(j = 0; j < 10; j++)
buf[i][j] = (int)n++;
/* Write to the 2 datasets */
@@ -892,12 +892,12 @@ test_metadata_read_retry_info(hid_t in_fapl)
FAIL_STACK_ERROR
/*
- * Case 1: tests on nbins
+ * Case 1: tests on nbins
*/
/*
* Open a file without SWMR access, default # of read attempts--
- * info.nbins should be 0
- * info.retries should all be NULL
+ * info.nbins should be 0
+ * info.retries should all be NULL
*/
/* Open the file without SWMR access */
if((fid = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0)
@@ -926,7 +926,7 @@ test_metadata_read_retry_info(hid_t in_fapl)
/* Should be all NULL */
for(i = 0; i < H5F_NUM_METADATA_READ_RETRY_TYPES; i++)
- if(info.retries[i] != NULL)
+ if(info.retries[i] != NULL)
TEST_ERROR
/* Closing */
@@ -940,8 +940,8 @@ test_metadata_read_retry_info(hid_t in_fapl)
/*
* Open a file with SWMR access, default # of read attempts--
- * info.nbins should be 2
- * info.retries should all be NULL
+ * info.nbins should be 2
+ * info.retries should all be NULL
*/
/* Open the file with SWMR access */
if((fid = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_READ, fapl)) < 0)
@@ -957,8 +957,8 @@ test_metadata_read_retry_info(hid_t in_fapl)
/* Should be all NULL */
for(i = 0; i < H5F_NUM_METADATA_READ_RETRY_TYPES; i++)
- if(info.retries[i] != NULL)
- TEST_ERROR
+ if(info.retries[i] != NULL)
+ TEST_ERROR
/* Closing */
if(H5Fclose(fid) < 0)
@@ -966,8 +966,8 @@ test_metadata_read_retry_info(hid_t in_fapl)
/*
* Open a file with SWMR access, # of read_attempts is 10:
- * info.nbins should be 1
- * info.retries should all be NULL
+ * info.nbins should be 1
+ * info.retries should all be NULL
*/
if((new_fapl = H5Pcopy(fapl)) < 0)
FAIL_STACK_ERROR
@@ -989,8 +989,8 @@ test_metadata_read_retry_info(hid_t in_fapl)
/* Should be all NULL */
for(i = 0; i < H5F_NUM_METADATA_READ_RETRY_TYPES; i++)
- if(info.retries[i] != NULL)
- TEST_ERROR
+ if(info.retries[i] != NULL)
+ TEST_ERROR
/* Closing */
if(H5Pclose(new_fapl) < 0)
@@ -1000,8 +1000,8 @@ test_metadata_read_retry_info(hid_t in_fapl)
/*
* Open a file with SWMR access, # of read attempts is 101:
- * info.nbins should be 3
- * info.retries should all be NULL
+ * info.nbins should be 3
+ * info.retries should all be NULL
*/
if((new_fapl = H5Pcopy(fapl)) < 0)
FAIL_STACK_ERROR
@@ -1022,8 +1022,8 @@ test_metadata_read_retry_info(hid_t in_fapl)
/* Should be all NULL */
for(i = 0; i < H5F_NUM_METADATA_READ_RETRY_TYPES; i++)
- if(info.retries[i] != NULL)
- TEST_ERROR
+ if(info.retries[i] != NULL)
+ TEST_ERROR
/* Closing */
if(H5Pclose(new_fapl) < 0)
@@ -1033,8 +1033,8 @@ test_metadata_read_retry_info(hid_t in_fapl)
/*
* Open a file with SWMR access, # of read_attempts is 10000:
- * info.nbins should be 4
- * info.retries should all be NULL
+ * info.nbins should be 4
+ * info.retries should all be NULL
*/
if((new_fapl = H5Pcopy(fapl)) < 0)
FAIL_STACK_ERROR
@@ -1056,8 +1056,8 @@ test_metadata_read_retry_info(hid_t in_fapl)
/* Should be all NULL */
for(i = 0; i < H5F_NUM_METADATA_READ_RETRY_TYPES; i++)
- if(info.retries[i] != NULL)
- TEST_ERROR
+ if(info.retries[i] != NULL)
+ TEST_ERROR
/* Closing */
if(H5Pclose(new_fapl) < 0)
@@ -1067,8 +1067,8 @@ test_metadata_read_retry_info(hid_t in_fapl)
/*
* Open a file with SWMR access, # of read_attempts is 1:
- * info.nbins should be 0
- * info.retries should all be NULL
+ * info.nbins should be 0
+ * info.retries should all be NULL
*/
if((new_fapl = H5Pcopy(fapl)) < 0)
FAIL_STACK_ERROR
@@ -1090,8 +1090,8 @@ test_metadata_read_retry_info(hid_t in_fapl)
/* Should be all NULL */
for(i = 0; i < H5F_NUM_METADATA_READ_RETRY_TYPES; i++)
- if(info.retries[i] != NULL)
- TEST_ERROR
+ if(info.retries[i] != NULL)
+ TEST_ERROR
/* Closing */
if(H5Pclose(new_fapl) < 0)
@@ -1134,8 +1134,8 @@ test_metadata_read_retry_info(hid_t in_fapl)
/* Should be all NULL */
for(i = 0; i < H5F_NUM_METADATA_READ_RETRY_TYPES; i++)
- if(info.retries[i] != NULL)
- TEST_ERROR
+ if(info.retries[i] != NULL)
+ TEST_ERROR
/* Get a pointer to the internal file object */
if((f = (H5F_t *)H5I_object(fid)) == NULL)
@@ -1143,29 +1143,29 @@ test_metadata_read_retry_info(hid_t in_fapl)
/*
* Increment 1st set of retries for metadata items:
- * a) v2 B-tree leaf node--retries[4][1]
+ * a) v2 B-tree leaf node--retries[4][1]
* b) Extensive array data block--retries[15][1]
* c) File's superblock--retries[20][0]
*/
/* v2 B-tree leaf node: log retry 99 for 500 times */
for(i = 0; i < 500; i++) {
- if(H5F_track_metadata_read_retries(f, H5AC_BT2_LEAF_ID, 99) < 0)
- FAIL_STACK_ERROR
+ if(H5F_track_metadata_read_retries(f, H5AC_BT2_LEAF_ID, 99) < 0)
+ FAIL_STACK_ERROR
}
/* Extensive array data block: log retry 10 for 1000 times */
for(i = 0; i < 1000; i++)
- if(H5F_track_metadata_read_retries(f, H5AC_EARRAY_DBLOCK_ID, 10) < 0)
- FAIL_STACK_ERROR
+ if(H5F_track_metadata_read_retries(f, H5AC_EARRAY_DBLOCK_ID, 10) < 0)
+ FAIL_STACK_ERROR
/* File's superblock: log retry 1 for 1 time */
if(H5F_track_metadata_read_retries(f, H5AC_SUPERBLOCK_ID, 1) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the collection of metadata read retries */
if(H5Fget_metadata_read_retry_info(fid, &info) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Verify retries for v2 B-tree leaf node */
if(info.retries[4][0] != 0)
@@ -1187,13 +1187,13 @@ test_metadata_read_retry_info(hid_t in_fapl)
/* Free memory for info.retries */
for(i = 0; i < H5F_NUM_METADATA_READ_RETRY_TYPES; i++) {
- if(info.retries[i] != NULL)
- HDfree(info.retries[i]);
+ if(info.retries[i] != NULL)
+ HDfree(info.retries[i]);
}
/*
* Increment 2nd set of retries for metadata items:
- * a) Object header--retries[0][0]
+ * a) Object header--retries[0][0]
* b) Extensive array datablock--retries[15][0]
* c) Fixed array header--retries[17][1]
* d) File's superblock--retries[20][0]
@@ -1201,79 +1201,79 @@ test_metadata_read_retry_info(hid_t in_fapl)
/* Object header: log retry 5 for 5 times */
for(i = 0; i < 5; i++) {
- if(H5F_track_metadata_read_retries(f, H5AC_OHDR_ID, 5) < 0)
- TEST_ERROR
+ if(H5F_track_metadata_read_retries(f, H5AC_OHDR_ID, 5) < 0)
+ TEST_ERROR
}
/* Extensive array data block: log retry 4 for 1 time */
if(H5F_track_metadata_read_retries(f, H5AC_EARRAY_DBLOCK_ID, 4) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Fixed array header : log retry 50 for 10000 times */
for(i = 0; i < 10000; i++) {
- if(H5F_track_metadata_read_retries(f, H5AC_FARRAY_HDR_ID, 50) < 0)
- TEST_ERROR
+ if(H5F_track_metadata_read_retries(f, H5AC_FARRAY_HDR_ID, 50) < 0)
+ TEST_ERROR
}
/* File's superblock: log retry 1 for 1 more time */
if(H5F_track_metadata_read_retries(f, H5AC_SUPERBLOCK_ID, 1) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the collection of metadata read retries */
if(H5Fget_metadata_read_retry_info(fid, &info) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/*
* Verify info has both previous + current retries information:
*/
for(i = 0; i < H5F_NUM_METADATA_READ_RETRY_TYPES; i++) {
- switch(i) {
- case 0: /* Object header */
- if(info.retries[i][0] != 5)
+ switch(i) {
+ case 0: /* Object header */
+ if(info.retries[i][0] != 5)
TEST_ERROR
- if(info.retries[i][1] != 0)
+ if(info.retries[i][1] != 0)
TEST_ERROR
- break;
+ break;
- case 4: /* v2 B-tree leaf node */
- if(info.retries[i][0] != 0)
+ case 4: /* v2 B-tree leaf node */
+ if(info.retries[i][0] != 0)
TEST_ERROR
- if(info.retries[i][1] != 500)
+ if(info.retries[i][1] != 500)
TEST_ERROR
- break;
+ break;
- case 15: /* Extensive array data block */
- if(info.retries[i][0] != 1)
+ case 15: /* Extensive array data block */
+ if(info.retries[i][0] != 1)
TEST_ERROR
- if(info.retries[i][1] != 1000)
+ if(info.retries[i][1] != 1000)
TEST_ERROR
- break;
+ break;
- case 17: /* Fixed array header */
- if(info.retries[i][0] != 0)
+ case 17: /* Fixed array header */
+ if(info.retries[i][0] != 0)
TEST_ERROR
- if(info.retries[i][1] != 10000)
+ if(info.retries[i][1] != 10000)
TEST_ERROR
- break;
+ break;
- case 20: /* File's superblock */
- if(info.retries[i][0] != 2)
+ case 20: /* File's superblock */
+ if(info.retries[i][0] != 2)
TEST_ERROR
- if(info.retries[i][1] != 0)
+ if(info.retries[i][1] != 0)
TEST_ERROR
- break;
+ break;
- default:
- if(info.retries[i] != NULL)
+ default:
+ if(info.retries[i] != NULL)
TEST_ERROR
- break;
- }
+ break;
+ }
}
/* Free memory for info.retries */
for(i = 0; i < H5F_NUM_METADATA_READ_RETRY_TYPES; i++)
- if(info.retries[i] != NULL)
- HDfree(info.retries[i]);
+ if(info.retries[i] != NULL)
+ HDfree(info.retries[i]);
/* Closing */
if(H5Dclose(did1) < 0)
@@ -1285,27 +1285,27 @@ test_metadata_read_retry_info(hid_t in_fapl)
/* Get a copy of the file access property list */
if((new_fapl = H5Pcopy(fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Set the number of metadata read attempts to 101 */
if(H5Pset_metadata_read_attempts(new_fapl, 101) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Open the file with SWMR access */
if((fid = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_READ, new_fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get a pointer to the internal file object */
if((f = (H5F_t *)H5I_object(fid)) == NULL)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* File's superblock: log retry 1 for 1 time */
if(H5F_track_metadata_read_retries(f, H5AC_SUPERBLOCK_ID, 1) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the collection of metadata read retries */
if(H5Fget_metadata_read_retry_info(fid, &info) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Should be 3 */
if(info.nbins != 3)
@@ -1313,27 +1313,27 @@ test_metadata_read_retry_info(hid_t in_fapl)
/* Verify retries info */
for(i = 0; i < H5F_NUM_METADATA_READ_RETRY_TYPES; i++) {
- switch(i) {
- case 20: /* File's superblock */
- if(info.retries[i][0] != 1)
+ switch(i) {
+ case 20: /* File's superblock */
+ if(info.retries[i][0] != 1)
TEST_ERROR
- if(info.retries[i][1] != 0)
+ if(info.retries[i][1] != 0)
TEST_ERROR
- if(info.retries[i][2] != 0)
+ if(info.retries[i][2] != 0)
TEST_ERROR
- break;
+ break;
- default:
- if(info.retries[i] != NULL)
+ default:
+ if(info.retries[i] != NULL)
TEST_ERROR
- break;
- }
+ break;
+ }
}
/* Free memory */
for(i = 0; i < H5F_NUM_METADATA_READ_RETRY_TYPES; i++)
- if(info.retries[i] != NULL)
- HDfree(info.retries[i]);
+ if(info.retries[i] != NULL)
+ HDfree(info.retries[i]);
/* Closing */
if(H5Pclose(new_fapl) < 0)
@@ -1343,31 +1343,31 @@ test_metadata_read_retry_info(hid_t in_fapl)
/*
* Case 3: Tests on retrieving the collection of retries
- * when H5Fopen and H5Freopen the same file.
+ * when H5Fopen and H5Freopen the same file.
*/
/*
* Open a file without SWMR access, default # of read attempts--
* H5Freopen the same file--
* Both files should:
- * nbins should be 0
- * retries should all be NULL
+ * nbins should be 0
+ * retries should all be NULL
*/
/* Open the file without SWMR access */
if((fid = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Re-open fid */
if((fid1 = H5Freopen(fid)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve retries information for fid */
if(H5Fget_metadata_read_retry_info(fid, &info) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve retries information for fid1*/
if(H5Fget_metadata_read_retry_info(fid1, &info1)< 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Should be 0 */
if(info.nbins != 0)
@@ -1377,9 +1377,9 @@ test_metadata_read_retry_info(hid_t in_fapl)
/* Should be all NULL */
for(i = 0; i < H5F_NUM_METADATA_READ_RETRY_TYPES; i++) {
- if(info.retries[i] != NULL)
+ if(info.retries[i] != NULL)
TEST_ERROR
- if(info1.retries[i] != NULL)
+ if(info1.retries[i] != NULL)
TEST_ERROR
}
@@ -1391,45 +1391,45 @@ test_metadata_read_retry_info(hid_t in_fapl)
/*
* Open a file with SWMR access, default # of read attempts:
- * --increment retries for metadata item: fixed array data block page (retries[19][0])
+ * --increment retries for metadata item: fixed array data block page (retries[19][0])
* H5Freopen the same file:
- * --increment retries for metadata item: free-space sections (retries[9][1])--
+ * --increment retries for metadata item: free-space sections (retries[9][1])--
*/
/* Open the file with SWMR access */
if((fid = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_READ, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get a pointer to the internal file object for fid */
if((f = (H5F_t *)H5I_object(fid)) == NULL)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Re-open fid */
if((fid1 = H5Freopen(fid)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get a pointer to the internal file object for fid1 */
if((f1 = (H5F_t *)H5I_object(fid1)) == NULL)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* For fid: fixed array data block page--log retry 9 for 500 times */
for(i = 0; i < 500; i++) {
- if(H5F_track_metadata_read_retries(f, H5AC_FARRAY_DBLK_PAGE_ID, 9) < 0)
- FAIL_STACK_ERROR
+ if(H5F_track_metadata_read_retries(f, H5AC_FARRAY_DBLK_PAGE_ID, 9) < 0)
+ FAIL_STACK_ERROR
}
/* For fid1: free-space sections--log retry 99 for 1000 times */
for(i = 0; i < 1000; i++) {
- if(H5F_track_metadata_read_retries(f1, H5AC_FSPACE_SINFO_ID, 99) < 0)
- FAIL_STACK_ERROR
+ if(H5F_track_metadata_read_retries(f1, H5AC_FSPACE_SINFO_ID, 99) < 0)
+ FAIL_STACK_ERROR
}
/* Retrieve the collection of metadata read retries for fid */
if(H5Fget_metadata_read_retry_info(fid, &info) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the collection of metadata read retries for fid1 */
if(H5Fget_metadata_read_retry_info(fid1, &info1) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Verify nbins for fid & fid1: should be 2 */
if(info.nbins != 2)
@@ -1465,10 +1465,10 @@ test_metadata_read_retry_info(hid_t in_fapl)
/* Free memory for info.retries and info1.retries */
for(i = 0; i < H5F_NUM_METADATA_READ_RETRY_TYPES; i++) {
- if(info.retries[i] != NULL)
- HDfree(info.retries[i]);
- if(info1.retries[i] != NULL)
- HDfree(info1.retries[i]);
+ if(info.retries[i] != NULL)
+ HDfree(info.retries[i]);
+ if(info1.retries[i] != NULL)
+ HDfree(info1.retries[i]);
} /* end for */
/* Closing */
@@ -1509,64 +1509,64 @@ error:
* test_start_swmr_write():
*
* Verify SWMR writing is enabled via H5Fstart_swmr_write():
- * Mainly test for file created with SWMR_WRITE + with/without latest format:
- * --file will have v3 superblock and all latest version support enabled
+ * Mainly test for file created with SWMR_WRITE + with/without latest format:
+ * --file will have v3 superblock and all latest version support enabled
*
- * (a) Creating a file
- * Create a file with SWMR_WRITE + non-latest-format
- * Create a chunked dataset "dataset1" in the file -- should be using latest chunk indexing
- * Should fail to enable SWMR as the file is already in SWMR writing mode
- * Close the file
+ * (a) Creating a file
+ * Create a file with SWMR_WRITE + non-latest-format
+ * Create a chunked dataset "dataset1" in the file -- should be using latest chunk indexing
+ * Should fail to enable SWMR as the file is already in SWMR writing mode
+ * Close the file
*
- * (a) Opening a file
- * Open the file with write + non-latest-format
- * --file has v3 superblock and all latest version support enabled
- * Open dataset "dataset1"--keep it open
- * Create a chunked dataset "dataset2" in the file -- should be using latest chunk indexing -- keep it open
- * Should succeed in enabling SWMR
- * Should succeed in writing/reading from "dataset1"
- * Close "dataset1" and "dataset2"
- * Create "dataset3" -- should be using latest chunk indexing
- * Close "dataset3"
- * Close the file
+ * (a) Opening a file
+ * Open the file with write + non-latest-format
+ * --file has v3 superblock and all latest version support enabled
+ * Open dataset "dataset1"--keep it open
+ * Create a chunked dataset "dataset2" in the file -- should be using latest chunk indexing -- keep it open
+ * Should succeed in enabling SWMR
+ * Should succeed in writing/reading from "dataset1"
+ * Close "dataset1" and "dataset2"
+ * Create "dataset3" -- should be using latest chunk indexing
+ * Close "dataset3"
+ * Close the file
*
*/
static int
test_start_swmr_write(hid_t in_fapl, hbool_t new_format)
{
- hid_t fid = -1; /* File ID */
- hid_t fapl = -1; /* File access property */
- hid_t gid = -1; /* Group ID */
- hid_t dcpl = -1; /* Dataset creation property */
- hid_t file_fapl = -1; /* File access property for the file */
- hid_t did1 = -1, did2 = -1, did3 = -1; /* Dataset IDs */
- hid_t sid1 = -1, sid2 = -1, sid3 = -1; /* Dataspace IDs */
- hsize_t dim[1] = {1}; /* Dimension sizes */
- hsize_t max_dim[1] = {H5S_UNLIMITED}; /* Maximum dimension sizes */
- hsize_t chunk_dim[1] = {2}; /* Chunk dimension sizes */
- hsize_t dim2[2] = {5, 10}; /* Dimension sizes */
- hsize_t max_dim2[2] = {H5S_UNLIMITED, H5S_UNLIMITED}; /* Maximum dimension sizes */
- hsize_t chunk_dim2[2] = {2, 7}; /* Chunk dimension sizes */
- H5D_chunk_index_t idx_type; /* Dataset chunk index type */
- int wdata = 99; /* Data to write */
- int rdata; /* Data read */
- unsigned attempts; /* The retrieved # of read attempts */
- char filename[NAME_BUF_SIZE]; /* File name */
- herr_t ret; /* Return value */
+ hid_t fid = -1; /* File ID */
+ hid_t fapl = -1; /* File access property */
+ hid_t gid = -1; /* Group ID */
+ hid_t dcpl = -1; /* Dataset creation property */
+ hid_t file_fapl = -1; /* File access property for the file */
+ hid_t did1 = -1, did2 = -1, did3 = -1; /* Dataset IDs */
+ hid_t sid1 = -1, sid2 = -1, sid3 = -1; /* Dataspace IDs */
+ hsize_t dim[1] = {1}; /* Dimension sizes */
+ hsize_t max_dim[1] = {H5S_UNLIMITED}; /* Maximum dimension sizes */
+ hsize_t chunk_dim[1] = {2}; /* Chunk dimension sizes */
+ hsize_t dim2[2] = {5, 10}; /* Dimension sizes */
+ hsize_t max_dim2[2] = {H5S_UNLIMITED, H5S_UNLIMITED}; /* Maximum dimension sizes */
+ hsize_t chunk_dim2[2] = {2, 7}; /* Chunk dimension sizes */
+ H5D_chunk_index_t idx_type; /* Dataset chunk index type */
+ int wdata = 99; /* Data to write */
+ int rdata; /* Data read */
+ unsigned attempts; /* The retrieved # of read attempts */
+ char filename[NAME_BUF_SIZE]; /* File name */
+ herr_t ret; /* Return value */
/* Get a copy of the parameter fapl (non-latest-format) */
if((fapl = H5Pcopy(in_fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(new_format) {
- TESTING("H5Fstart_swmr_write() when creating/opening a file with latest format");
+ TESTING("H5Fstart_swmr_write() when creating/opening a file with latest format");
- /* Set to use the latest library format */
- if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0)
- FAIL_STACK_ERROR
+ /* Set to use the latest library format */
+ if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0)
+ FAIL_STACK_ERROR
} else {
- TESTING("H5Fstart_swmr_write() when creating/opening a file without latest format");
+ TESTING("H5Fstart_swmr_write() when creating/opening a file without latest format");
} /* end if */
/* Set the filename to use for this test (dependent on fapl) */
@@ -1578,43 +1578,43 @@ test_start_swmr_write(hid_t in_fapl, hbool_t new_format)
/* Create the file with SWMR write + non-latest-format */
if((fid = H5Fcreate(filename, H5F_ACC_TRUNC | (new_format ? 0 : H5F_ACC_SWMR_WRITE), H5P_DEFAULT, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get the file's access_property list */
if((file_fapl = H5Fget_access_plist(fid)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the # of read attempts from the file's fapl */
if(H5Pget_metadata_read_attempts(file_fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Should be 100 */
if(attempts != (new_format ? H5F_METADATA_READ_ATTEMPTS : H5F_SWMR_METADATA_READ_ATTEMPTS))
- TEST_ERROR;
+ TEST_ERROR;
/* Close the property list */
if(H5Pclose(file_fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Create "dataset1" */
if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(H5Pset_chunk(dcpl, 1, chunk_dim) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if((sid1 = H5Screate_simple(1, dim, max_dim)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if((did1 = H5Dcreate2(fid, "dataset1", H5T_NATIVE_INT, sid1, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Get the chunk index type */
if(H5D__layout_idx_type_test(did1, &idx_type) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(idx_type != H5D_CHUNK_IDX_EARRAY)
FAIL_PUTS_ERROR("should be using extensible array as index");
/* Write to the dataset */
if(H5Dwrite(did1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, &wdata) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Should fail to enable SWMR for non-latest-format */
/* Should succeed in enabling SWMR for latest format */
@@ -1622,25 +1622,25 @@ test_start_swmr_write(hid_t in_fapl, hbool_t new_format)
ret = H5Fstart_swmr_write(fid);
} H5E_END_TRY;
if(new_format) {
- if(ret < 0) TEST_ERROR
+ if(ret < 0) TEST_ERROR
} else if(ret >= 0)
- TEST_ERROR
+ TEST_ERROR
/* Read from the dataset */
if(H5Dread(did1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, &rdata) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Verify the data is correct */
if(wdata != rdata)
- TEST_ERROR
+ TEST_ERROR
/* Close "dataset1", dataspace, dataset creation property list */
if(H5Dclose(did1) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Sclose(sid1) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Pclose(dcpl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Get the file's access_property list */
if((file_fapl = H5Fget_access_plist(fid)) < 0)
@@ -1660,7 +1660,7 @@ test_start_swmr_write(hid_t in_fapl, hbool_t new_format)
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/*
* Case B: when opening a file
@@ -1668,32 +1668,32 @@ test_start_swmr_write(hid_t in_fapl, hbool_t new_format)
/* Open the file again with write + non-latest-format */
if((fid = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Get the file's access_property list */
if((file_fapl = H5Fget_access_plist(fid)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the # of read attempts */
if(H5Pget_metadata_read_attempts(file_fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Should be 1 */
if(attempts != H5F_METADATA_READ_ATTEMPTS)
- TEST_ERROR;
+ TEST_ERROR;
/* Close the property list */
if(H5Pclose(file_fapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* open "dataset1", keep it open */
if((did1 = H5Dopen2(fid, "dataset1", H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Write to "dataset1" */
wdata = 88;
if(H5Dwrite(did1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, &wdata) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Create a group */
if((gid = H5Gcreate2(fid, "group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
@@ -1701,93 +1701,93 @@ test_start_swmr_write(hid_t in_fapl, hbool_t new_format)
/* Create "dataset2" in the group, keep it open */
if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(H5Pset_chunk(dcpl, 2, chunk_dim2) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if((sid2 = H5Screate_simple(2, dim2, max_dim2)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if((did2 = H5Dcreate2(gid, "dataset2", H5T_NATIVE_INT, sid2, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Get the chunk index type for "dataset2" */
if(H5D__layout_idx_type_test(did2, &idx_type) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(idx_type != H5D_CHUNK_IDX_BT2)
FAIL_PUTS_ERROR("should be using v2 B-tree chunk indexing");
/* Should succeed in enabling SWMR writing */
if(H5Fstart_swmr_write(fid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Get the file's access_property list */
if((file_fapl = H5Fget_access_plist(fid)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the # of read attempts */
if(H5Pget_metadata_read_attempts(file_fapl, &attempts) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Should be 100 */
if(attempts != H5F_SWMR_METADATA_READ_ATTEMPTS)
- TEST_ERROR;
+ TEST_ERROR;
/* Close the property list */
if(H5Pclose(file_fapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Read from "dataset1" */
if(H5Dread(did1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, &rdata) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(wdata != rdata)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Close "dataset1" */
if(H5Dclose(did1) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Close "dataset2", dataspace, dataset creation property list */
if(H5Dclose(did2) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Sclose(sid2) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Pclose(dcpl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Create "dataset3" */
if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(H5Pset_chunk(dcpl, 2, chunk_dim2) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if((sid3 = H5Screate_simple(2, dim2, max_dim2)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if((did3 = H5Dcreate2(fid, "dataset3", H5T_NATIVE_INT, sid3, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Get the chunk index type for "dataset3" */
if(H5D__layout_idx_type_test(did3, &idx_type) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(idx_type != H5D_CHUNK_IDX_BT2)
FAIL_PUTS_ERROR("should be using v2 B-tree as index");
/* Close "dataset3", dataspace, dataset creation property list */
if(H5Dclose(did3) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Sclose(sid3) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Pclose(dcpl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Close the group */
if(H5Gclose(gid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Close the file access property list */
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
PASSED();
@@ -1795,17 +1795,17 @@ test_start_swmr_write(hid_t in_fapl, hbool_t new_format)
error:
H5E_BEGIN_TRY {
- H5Fclose(fid);
- H5Pclose(fapl);
- H5Pclose(file_fapl);
- H5Gclose(gid);
- H5Pclose(dcpl);
- H5Dclose(did1);
- H5Dclose(did2);
- H5Dclose(did3);
- H5Sclose(sid1);
- H5Sclose(sid2);
- H5Sclose(sid3);
+ H5Fclose(fid);
+ H5Pclose(fapl);
+ H5Pclose(file_fapl);
+ H5Gclose(gid);
+ H5Pclose(dcpl);
+ H5Dclose(did1);
+ H5Dclose(did2);
+ H5Dclose(did3);
+ H5Sclose(sid1);
+ H5Sclose(sid2);
+ H5Sclose(sid3);
} H5E_END_TRY;
return -1;
@@ -1815,45 +1815,45 @@ error:
* test_err_start_swmr_write():
*
* Verify failure conditions in enabling SWMR writing mode via H5Fstart_swmr_write():
- * (A) When creating a file:
- * (1) Create a file with SWMR write + with/without latest format
- * --fail to enable SWMR because the file is already in SWMR writing mode
- * If (latest-format):
- * (2a) Create a file with write + latest format and with opened named datatype
- * --fail to enable SWMR because there are opened datatype
- * If !(latest-format):
- * (2b) Create a file with write + non-latest-format
+ * (A) When creating a file:
+ * (1) Create a file with SWMR write + with/without latest format
+ * --fail to enable SWMR because the file is already in SWMR writing mode
+ * If (latest-format):
+ * (2a) Create a file with write + latest format and with opened named datatype
+ * --fail to enable SWMR because there are opened datatype
+ * If !(latest-format):
+ * (2b) Create a file with write + non-latest-format
* --fail to enable SWMR because superblock version is not at least 3
*
- * (B) When opening a file which is created with write + latest format:
- * (1) Open the file with SWMR write + with/without latest format
- * --fail to enable SWMR because the file is already in SWMR writing mode
- * (2) Open the file with read only + with/without latest format
- * --fail to enable SWMR because the file is not opened with write
- * (3) Open the file with SWMR read only + with/without latest format
- * --fail to enable SWMR because the file is not opened with write
- * (4) Open the file with write + with/without latest format and with opened named datatype/attribute
- * --fail to enable SWMR because there are opened datatype/attribute
+ * (B) When opening a file which is created with write + latest format:
+ * (1) Open the file with SWMR write + with/without latest format
+ * --fail to enable SWMR because the file is already in SWMR writing mode
+ * (2) Open the file with read only + with/without latest format
+ * --fail to enable SWMR because the file is not opened with write
+ * (3) Open the file with SWMR read only + with/without latest format
+ * --fail to enable SWMR because the file is not opened with write
+ * (4) Open the file with write + with/without latest format and with opened named datatype/attribute
+ * --fail to enable SWMR because there are opened datatype/attribute
*
- * (C) When doing multiple opens for a file:
- * Create a file with (a) write + latest format or (b) SMWR write + non-latest-format
- * Close the file
- * (1) --Open the file with write + with/without latest format
- * --Enable SWMR writing mode twice
- * --First time succeed, second time fail
- * --Close the file
- (2) --Open the file with write + with/without latest format
- * --succeed to enable SWMR writing mode
- * --reopen the same file
- * --fail to enable SWMR writing mode for the reopened file
- * --Close the file
- (3) --Open the file with write + with/without latest format
- * --open the same file again
- * --succeed to enable SWMR for the first opened file
- * --fail to enable SWMR for the second opened file
- * --Close the file
+ * (C) When doing multiple opens for a file:
+ * Create a file with (a) write + latest format or (b) SMWR write + non-latest-format
+ * Close the file
+ * (1) --Open the file with write + with/without latest format
+ * --Enable SWMR writing mode twice
+ * --First time succeed, second time fail
+ * --Close the file
+ (2) --Open the file with write + with/without latest format
+ * --succeed to enable SWMR writing mode
+ * --reopen the same file
+ * --fail to enable SWMR writing mode for the reopened file
+ * --Close the file
+ (3) --Open the file with write + with/without latest format
+ * --open the same file again
+ * --succeed to enable SWMR for the first opened file
+ * --fail to enable SWMR for the second opened file
+ * --Close the file
*
- * (E) (!new_format): When opening a file which is created with write + non-latest-format:
+ * (E) (!new_format): When opening a file which is created with write + non-latest-format:
* (1) Open the file with SWMR write+latest format
* --fail to open due to superblock version not 3
* (2) Open the file with SWMR write+non-latest-format
@@ -1867,36 +1867,36 @@ error:
static int
test_err_start_swmr_write(hid_t in_fapl, hbool_t new_format)
{
- hid_t fid = -1; /* File ID */
- hid_t fid2 = -1; /* File ID */
- hid_t fapl = -1; /* A copy of file access property */
- hid_t new_fapl = -1; /* A copy of file access property */
- hid_t gid = -1; /* Group ID */
- hid_t did = -1; /* Dataset ID */
- hid_t sid = -1; /* Dataspace ID */
- hid_t aid = -1; /* Attribute ID */
- hid_t tid = -1; /* Datatype ID */
+ hid_t fid = -1; /* File ID */
+ hid_t fid2 = -1; /* File ID */
+ hid_t fapl = -1; /* A copy of file access property */
+ hid_t new_fapl = -1; /* A copy of file access property */
+ hid_t gid = -1; /* Group ID */
+ hid_t did = -1; /* Dataset ID */
+ hid_t sid = -1; /* Dataspace ID */
+ hid_t aid = -1; /* Attribute ID */
+ hid_t tid = -1; /* Datatype ID */
hid_t bad_fid = -1; /* Test fid (should never represent a real ID) */
- herr_t ret; /* Return value */
- char filename[NAME_BUF_SIZE]; /* File name */
+ herr_t ret; /* Return value */
+ char filename[NAME_BUF_SIZE]; /* File name */
/* Create a copy of the input parameter in_fapl */
if((fapl = H5Pcopy(in_fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if((new_fapl = H5Pcopy(in_fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Set to use the latest library format */
if(H5Pset_libver_bounds(new_fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(new_format) {
- TESTING("H5Fstart_swmr_write() on failure conditions for latest format");
+ TESTING("H5Fstart_swmr_write() on failure conditions for latest format");
- if((fapl = H5Pcopy(new_fapl)) < 0)
- FAIL_STACK_ERROR
+ if((fapl = H5Pcopy(new_fapl)) < 0)
+ FAIL_STACK_ERROR
} else {
- TESTING("H5Fstart_swmr_write() on failure conditions for without latest format");
+ TESTING("H5Fstart_swmr_write() on failure conditions for without latest format");
}
/* Set the filename to use for this test (dependent on fapl) */
@@ -1917,10 +1917,10 @@ test_err_start_swmr_write(hid_t in_fapl, hbool_t new_format)
ret = H5Fstart_swmr_write(fid);
} H5E_END_TRY;
if(ret >= 0)
- TEST_ERROR
+ TEST_ERROR
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Case 2 */
@@ -1978,114 +1978,114 @@ test_err_start_swmr_write(hid_t in_fapl, hbool_t new_format)
/* Create a file with write + latest format */
if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, new_fapl)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Case 1 */
/* Open the file with SWMR write + with/without latest format */
if((fid = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE, fapl)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Should fail to enable SWMR writing when the file is already in SWMR writing mode */
H5E_BEGIN_TRY {
ret = H5Fstart_swmr_write(fid);
} H5E_END_TRY;
if(ret >= 0)
- TEST_ERROR
+ TEST_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Case 2 */
/* Open the file with read only access + with/without latest format */
if((fid = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Should fail to enable SWMR writing when the file is opened with read only access */
H5E_BEGIN_TRY {
ret = H5Fstart_swmr_write(fid);
} H5E_END_TRY;
if(ret >= 0)
- TEST_ERROR
+ TEST_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Case 3 */
/* Open the file file with SWMR read access + with/without latest format */
if((fid = H5Fopen(filename, H5F_ACC_SWMR_READ, fapl)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Should fail to enable SWMR writing when the file is opened with SWMR read access only */
H5E_BEGIN_TRY {
ret = H5Fstart_swmr_write(fid);
} H5E_END_TRY;
if(ret >= 0)
- TEST_ERROR
+ TEST_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Case 4 */
/* Open the file with write + with/without latest format */
if((fid = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Create and commit a named datatype */
if((tid = H5Tcopy(H5T_NATIVE_INT)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Tcommit2(fid, "TID", tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Create dataspace */
if((sid = H5Screate(H5S_SCALAR)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Attach an attribute to the named datatype */
if((aid = H5Acreate2(tid, "attr", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Should fail to enable SWMR writing when there are opened named datatype and attribute */
H5E_BEGIN_TRY {
ret = H5Fstart_swmr_write(fid);
} H5E_END_TRY;
if(ret >= 0)
- TEST_ERROR
+ TEST_ERROR
/* Close the datatype */
if(H5Tclose(tid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Still fail to enable SWMR writing when the attribute is still opened */
H5E_BEGIN_TRY {
ret = H5Fstart_swmr_write(fid);
} H5E_END_TRY;
if(ret >= 0)
- TEST_ERROR
+ TEST_ERROR
/* Close the attribute */
if(H5Aclose(aid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Should succeed in enabling SWMR writing */
if(H5Fstart_swmr_write(fid) < 0)
- TEST_ERROR;
+ TEST_ERROR;
/* Close the dataspace */
if(H5Sclose(sid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/*
@@ -2096,11 +2096,11 @@ test_err_start_swmr_write(hid_t in_fapl, hbool_t new_format)
/* Create a file with write + with/without latest format */
if((fid = H5Fcreate(filename, H5F_ACC_TRUNC | (new_format ? 0 : H5F_ACC_SWMR_WRITE), H5P_DEFAULT, fapl)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Open the file with write + with/without latest format */
if((fid = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0)
@@ -2108,18 +2108,18 @@ test_err_start_swmr_write(hid_t in_fapl, hbool_t new_format)
/* Should succeed in enabling SWMR writing mode */
if(H5Fstart_swmr_write(fid) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Should fail for a second call to enable SWMR writing mode */
H5E_BEGIN_TRY {
ret = H5Fstart_swmr_write(fid);
} H5E_END_TRY;
if(ret >= 0)
- TEST_ERROR
+ TEST_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Case 2 */
@@ -2130,24 +2130,24 @@ test_err_start_swmr_write(hid_t in_fapl, hbool_t new_format)
/* Should succeed in enabling SWMR writing mode */
if(H5Fstart_swmr_write(fid) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Re-open the same file */
if((fid2 = H5Freopen(fid)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Should fail to enable SWMR writing mode for fid2 */
H5E_BEGIN_TRY {
ret = H5Fstart_swmr_write(fid2);
} H5E_END_TRY;
if(ret >= 0)
- TEST_ERROR
+ TEST_ERROR
/* Close the files */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Fclose(fid2) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Case 3 */
@@ -2157,24 +2157,24 @@ test_err_start_swmr_write(hid_t in_fapl, hbool_t new_format)
/* Open the same file */
if((fid2 = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Should succeed in enabling SWMR writing for fid */
if(H5Fstart_swmr_write(fid) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Should fail to enable SWMR writing for fid2 */
H5E_BEGIN_TRY {
ret = H5Fstart_swmr_write(fid2);
} H5E_END_TRY;
if(ret >= 0)
- TEST_ERROR
+ TEST_ERROR
/* Close the files */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Fclose(fid2) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(!new_format) {
@@ -2243,22 +2243,22 @@ test_err_start_swmr_write(hid_t in_fapl, hbool_t new_format)
/* Close the file access property list */
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Pclose(new_fapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
PASSED();
return 0;
error:
H5E_BEGIN_TRY {
- H5Sclose(sid);
- H5Gclose(gid);
- H5Dclose(did);
- H5Fclose(fid);
- H5Fclose(fid2);
- H5Pclose(fapl);
- H5Pclose(new_fapl);
+ H5Sclose(sid);
+ H5Gclose(gid);
+ H5Dclose(did);
+ H5Fclose(fid);
+ H5Fclose(fid2);
+ H5Pclose(fapl);
+ H5Pclose(new_fapl);
/* bad_fid should only represent a read ID in the error case.
* It never needs to be closed in the normal case.
*/
@@ -2272,52 +2272,59 @@ error:
* test_start_swmr_write_concur():
*
* The "new_format" parameter indicates whether to create the file with latest format or not.
- * To have SWMR support, can use either one of the following in creating a file:
- * (a) Create the file with write + latest format:
- * --result in v3 superblock with latest chunk indexing types
- * (b) Create the file with SWMR write + non-latest-format:
- * --result in v3 superblock with latest chunk indexing types
+ * To have SWMR support, can use either one of the following in creating a file:
+ * (a) Create the file with write + latest format:
+ * --result in v3 superblock with latest chunk indexing types
+ * (b) Create the file with SWMR write + non-latest-format:
+ * --result in v3 superblock with latest chunk indexing types
*
* Verify concurrent access for H5Fstart_swmr_write()--
- * (1) Parent: open a file with write access
- * Child: concurrent open of the file with read & SWMR read (fail)
- * (2) Parent: open a file with write access; enable SWMR writing mode
- * Child: concurrent open of the file with read & SWMR read (succeed)
- * (3) Parent: open a file with write access; enable SWMR writing mode
- * Child: Concurrent open of the file with read only (fail)
- * (4) Parent: open a file with write access; enable SWMR writing mode
- * Child: concurrent open of the file with write access (fail)
- * (5) Parent: open a file with write access; enable SWMR writing mode
- * Child: concurrent open of the file with write and SWMR write access (fail)
+ * (1) Parent: open a file with write access
+ * Child: concurrent open of the file with read & SWMR read (fail)
+ * (2) Parent: open a file with write access; enable SWMR writing mode
+ * Child: concurrent open of the file with read & SWMR read (succeed)
+ * (3) Parent: open a file with write access; enable SWMR writing mode
+ * Child: Concurrent open of the file with read only (fail)
+ * (4) Parent: open a file with write access; enable SWMR writing mode
+ * Child: concurrent open of the file with write access (fail)
+ * (5) Parent: open a file with write access; enable SWMR writing mode
+ * Child: concurrent open of the file with write and SWMR write access (fail)
*/
+#if !(defined(H5_HAVE_FORK) && defined(H5_HAVE_WAITPID))
+
+static int
+test_start_swmr_write_concur(hid_t H5_ATTR_UNUSED in_fapl, hbool_t H5_ATTR_UNUSED new_format)
+{
+ SKIPPED();
+ HDputs(" Test skipped due to fork or waitpid not defined.");
+ return 0;
+} /* test_start_swmr_write_concur() */
+
+#else /* defined(H5_HAVE_FORK && defined(H5_HAVE_WAITPID) */
+
static int
test_start_swmr_write_concur(hid_t in_fapl, hbool_t new_format)
{
- hid_t fid; /* File ID */
- hid_t fapl; /* File access property list */
- pid_t childpid=0; /* Child process ID */
- pid_t tmppid; /* Child process ID returned by waitpid */
- int child_status; /* Status passed to waitpid */
- int child_wait_option=0; /* Options passed to waitpid */
- int child_exit_val; /* Exit status of the child */
- char filename[NAME_BUF_SIZE]; /* File name */
+ hid_t fid; /* File ID */
+ hid_t fapl; /* File access property list */
+ pid_t childpid=0; /* Child process ID */
+ pid_t tmppid; /* Child process ID returned by waitpid */
+ int child_status; /* Status passed to waitpid */
+ int child_wait_option=0; /* Options passed to waitpid */
+ int child_exit_val; /* Exit status of the child */
+ char filename[NAME_BUF_SIZE]; /* File name */
/* Output message about test being performed */
if(new_format) {
- TESTING("Testing H5Fstart_swmr_write()--concurrent access for latest format");
+ TESTING("Testing H5Fstart_swmr_write()--concurrent access for latest format");
} else {
- TESTING("Testing H5Fstart_swmr_write()--concurrent access for non-latest-format");
+ TESTING("Testing H5Fstart_swmr_write()--concurrent access for non-latest-format");
} /* end if */
-#if !(defined(H5_HAVE_FORK) && defined(H5_HAVE_WAITPID))
- SKIPPED();
- HDputs(" Test skipped due to fork or waitpid not defined.");
-
-#else /* defined(H5_HAVE_FORK && defined(H5_HAVE_WAITPID) */
if((fapl = H5Pcopy(in_fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Set the filename to use for this test (dependent on fapl) */
h5_fixname(FILENAME[0], fapl, filename, sizeof(filename));
@@ -2338,48 +2345,48 @@ test_start_swmr_write_concur(hid_t in_fapl, hbool_t new_format)
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Remove the message file to be sure */
HDremove(DONE_MESSAGE);
/*
* Case (1):
- * Verify concurrent file open with H5F_ACC_RDONLY|H5F_ACC_SWMR_READ
+ * Verify concurrent file open with H5F_ACC_RDONLY|H5F_ACC_SWMR_READ
* will fail without H5Fstart_swmr_write()
*/
/* Fork child process */
if((childpid = HDfork()) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(childpid == 0) { /* Child process */
- /* Wait till parent process completes the open */
- if(h5_wait_message(DONE_MESSAGE) < 0)
- exit(1);
+ /* Wait till parent process completes the open */
+ if(h5_wait_message(DONE_MESSAGE) < 0)
+ HDexit(EXIT_FAILURE);
- /* Should fail */
- H5E_BEGIN_TRY {
- /* Open the test file */
- fid = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_READ, fapl);
- } H5E_END_TRY;
- if(fid >= 0)
- exit(1);
+ /* Should fail */
+ H5E_BEGIN_TRY {
+ /* Open the test file */
+ fid = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_READ, fapl);
+ } H5E_END_TRY;
+ if(fid >= 0)
+ HDexit(EXIT_FAILURE);
- exit(0);
+ HDexit(EXIT_SUCCESS);
}
/* Open the test file */
if((fid = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Send the message that the open completes */
h5_send_message(DONE_MESSAGE);
/* Wait for child process to complete */
if((tmppid = HDwaitpid(childpid, &child_status, child_wait_option)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Check exit status of child process */
if(WIFEXITED(child_status)) {
@@ -2390,11 +2397,11 @@ test_start_swmr_write_concur(hid_t in_fapl, hbool_t new_format)
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/*
* Case (2):
- * Verify concurrent file open with H5F_ACC_RDONLY|H5F_ACC_SWMR_READ
+ * Verify concurrent file open with H5F_ACC_RDONLY|H5F_ACC_SWMR_READ
* will succeed with H5Fstart_swmr_write()
*/
@@ -2403,52 +2410,52 @@ test_start_swmr_write_concur(hid_t in_fapl, hbool_t new_format)
/* Fork child process */
if((childpid = HDfork()) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(childpid == 0) { /* Child process */
- hid_t child_fid; /* File ID */
-
- /* Wait till parent process completes the open */
- if(h5_wait_message(DONE_MESSAGE) < 0)
- exit(1);
-
- /* Should succeed in opening the test file */
- if((child_fid = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_READ, fapl)) < 0)
- exit(1);
- if(H5Fclose(child_fid) < 0)
- exit(1);
- exit(0);
+ hid_t child_fid; /* File ID */
+
+ /* Wait till parent process completes the open */
+ if(h5_wait_message(DONE_MESSAGE) < 0)
+ HDexit(EXIT_FAILURE);
+
+ /* Should succeed in opening the test file */
+ if((child_fid = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_READ, fapl)) < 0)
+ HDexit(EXIT_FAILURE);
+ if(H5Fclose(child_fid) < 0)
+ HDexit(EXIT_FAILURE);
+ HDexit(EXIT_SUCCESS);
}
/* Open the test file */
if((fid = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Enable SWMR writing mode */
if(H5Fstart_swmr_write(fid) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Send the message that H5Fstart_swmr_write() completes */
h5_send_message(DONE_MESSAGE);
/* Wait for child process to complete */
if((tmppid = HDwaitpid(childpid, &child_status, child_wait_option)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Check exit status of child process */
if(WIFEXITED(child_status)) {
- if((child_exit_val = WEXITSTATUS(child_status)) != 0)
- TEST_ERROR
+ if((child_exit_val = WEXITSTATUS(child_status)) != 0)
+ TEST_ERROR
} else /* Child process terminated abnormally */
- TEST_ERROR
+ TEST_ERROR
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/*
* Case (3):
- * Verify concurrent file open with H5F_ACC_RDONLY
+ * Verify concurrent file open with H5F_ACC_RDONLY
* will fail with H5Fstart_swmr_write()
*/
@@ -2457,38 +2464,38 @@ test_start_swmr_write_concur(hid_t in_fapl, hbool_t new_format)
/* Fork child process */
if((childpid = HDfork()) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(childpid == 0) { /* Child process */
- /* Wait till parent process completes the open */
- if(h5_wait_message(DONE_MESSAGE) < 0)
- HDexit(1);
+ /* Wait till parent process completes the open */
+ if(h5_wait_message(DONE_MESSAGE) < 0)
+ HDexit(EXIT_FAILURE);
- /* Should fail in opening the test file */
- H5E_BEGIN_TRY {
- fid = H5Fopen(filename, H5F_ACC_RDONLY, fapl);
- } H5E_END_TRY;
- if(fid >= 0)
- HDexit(1);
+ /* Should fail in opening the test file */
+ H5E_BEGIN_TRY {
+ fid = H5Fopen(filename, H5F_ACC_RDONLY, fapl);
+ } H5E_END_TRY;
+ if(fid >= 0)
+ HDexit(EXIT_FAILURE);
- HDexit(0);
+ HDexit(EXIT_SUCCESS);
} /* end if */
/* Open the test file */
if((fid = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Enable SWMR writing mode */
if(H5Fstart_swmr_write(fid) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Send the message that H5Fstart_swmr_write() completes */
h5_send_message(DONE_MESSAGE);
/* Wait for child process to complete */
if((tmppid = HDwaitpid(childpid, &child_status, child_wait_option)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Check exit status of child process */
if(WIFEXITED(child_status)) {
@@ -2499,11 +2506,11 @@ test_start_swmr_write_concur(hid_t in_fapl, hbool_t new_format)
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/*
* Case (4):
- * Verify concurrent file open with H5F_ACC_RDWR
+ * Verify concurrent file open with H5F_ACC_RDWR
* will fail with H5Fstart_swmr_write()
*/
@@ -2512,38 +2519,38 @@ test_start_swmr_write_concur(hid_t in_fapl, hbool_t new_format)
/* Fork child process */
if((childpid = HDfork()) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(childpid == 0) { /* Child process */
- /* Wait till parent process completes the open */
- if(h5_wait_message(DONE_MESSAGE) < 0)
- HDexit(1);
+ /* Wait till parent process completes the open */
+ if(h5_wait_message(DONE_MESSAGE) < 0)
+ HDexit(EXIT_FAILURE);
- /* Should fail in opening the test file */
- H5E_BEGIN_TRY {
- fid = H5Fopen(filename, H5F_ACC_RDWR, fapl);
- } H5E_END_TRY;
- if(fid >= 0)
- HDexit(1);
+ /* Should fail in opening the test file */
+ H5E_BEGIN_TRY {
+ fid = H5Fopen(filename, H5F_ACC_RDWR, fapl);
+ } H5E_END_TRY;
+ if(fid >= 0)
+ HDexit(EXIT_FAILURE);
- HDexit(0);
+ HDexit(EXIT_SUCCESS);
} /* end if */
/* Open the test file */
if((fid = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Enable SWMR writing mode */
if(H5Fstart_swmr_write(fid) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Send the message that H5Fstart_swmr_write() completes */
h5_send_message(DONE_MESSAGE);
/* Wait for child process to complete */
if((tmppid = HDwaitpid(childpid, &child_status, child_wait_option)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Check exit status of child process */
if(WIFEXITED(child_status)) {
@@ -2554,11 +2561,11 @@ test_start_swmr_write_concur(hid_t in_fapl, hbool_t new_format)
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/*
* Case (5):
- * Verify concurrent file open with H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE
+ * Verify concurrent file open with H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE
* will fail with H5Fstart_swmr_write()
*/
@@ -2567,38 +2574,38 @@ test_start_swmr_write_concur(hid_t in_fapl, hbool_t new_format)
/* Fork child process */
if((childpid = HDfork()) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(childpid == 0) { /* Child process */
- /* Wait till parent process completes the open */
- if(h5_wait_message(DONE_MESSAGE) < 0)
- HDexit(1);
+ /* Wait till parent process completes the open */
+ if(h5_wait_message(DONE_MESSAGE) < 0)
+ HDexit(EXIT_FAILURE);
- /* Should fail in opening the test file */
- H5E_BEGIN_TRY {
- fid = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE, fapl);
- } H5E_END_TRY;
- if(fid >= 0)
- HDexit(1);
+ /* Should fail in opening the test file */
+ H5E_BEGIN_TRY {
+ fid = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE, fapl);
+ } H5E_END_TRY;
+ if(fid >= 0)
+ HDexit(EXIT_FAILURE);
- HDexit(0);
+ HDexit(EXIT_SUCCESS);
}
/* Open the test file */
if((fid = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Enable SWMR writing mode */
if(H5Fstart_swmr_write(fid) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Send the message that H5Fstart_swmr_write() completes */
h5_send_message(DONE_MESSAGE);
/* Wait for child process to complete */
if((tmppid = HDwaitpid(childpid, &child_status, child_wait_option)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Check exit status of child process */
if(WIFEXITED(child_status)) {
@@ -2609,26 +2616,25 @@ test_start_swmr_write_concur(hid_t in_fapl, hbool_t new_format)
/* Close the file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close the property list */
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
PASSED();
return 0;
error:
H5E_BEGIN_TRY {
- H5Pclose(fapl);
- H5Fclose(fid);
+ H5Pclose(fapl);
+ H5Fclose(fid);
} H5E_END_TRY;
return -1;
-#endif
} /* test_start_swmr_write_concur() */
-
+#endif /* !(defined(H5_HAVE_FORK) && defined(H5_HAVE_WAITPID)) */
/*
* Tests for H5Pset/get_object_flush_cb()
@@ -2645,96 +2651,96 @@ flush_cb(hid_t H5_ATTR_UNUSED obj_id, void *_udata)
/*
* test_object_flush_cb()
- *
+ *
* Verify the public routines H5Pget/set_object_flush_cb() work as specified:
- * 1) To verify the failure condition in setting object flush property
- * 2) To verify the object flush property values retrieved from a default
- * file access property list.
- * 3) To verify the object flush property values retrieved from a non-default
- * file access property list.
- * 4) To verify the object flush property values retrieved from a default
- * file access property list of a file
- * 5) To verify the object flush property values retrieved from a non-default
- * file access property list of a file
- * To verify the object flush callback is invoked when doing H5Oflush(),
- * H5Dflush(), H5Gflush() and H5Tflush().
+ * 1) To verify the failure condition in setting object flush property
+ * 2) To verify the object flush property values retrieved from a default
+ * file access property list.
+ * 3) To verify the object flush property values retrieved from a non-default
+ * file access property list.
+ * 4) To verify the object flush property values retrieved from a default
+ * file access property list of a file
+ * 5) To verify the object flush property values retrieved from a non-default
+ * file access property list of a file
+ * To verify the object flush callback is invoked when doing H5Oflush(),
+ * H5Dflush(), H5Gflush() and H5Tflush().
*/
static int
test_object_flush_cb(hid_t in_fapl)
{
- hid_t fapl = -1; /* A copy of file access property list */
- hid_t ffapl = -1; /* A file's file access property list */
- hid_t fid = -1; /* File ID */
- hid_t gid = -1; /* Group ID */
- hid_t did1 = -1, did2 = -1; /* Dataset IDs */
- hid_t sid = -1; /* Dataspace ID */
- hsize_t dims[2] = {5, 10}; /* Dataset dimension sizes */
- int buf[50]; /* Data buffer */
- H5F_flush_cb_t ret_cb; /* The callback function set in object flush property */
- void *ret_ct; /* The user data set in object flush property */
- unsigned flush_ct = 0; /* The user data for object flush property */
- char filename[NAME_BUF_SIZE]; /* File name */
- int i; /* Local index variable */
- herr_t ret; /* Generic return value */
+ hid_t fapl = -1; /* A copy of file access property list */
+ hid_t ffapl = -1; /* A file's file access property list */
+ hid_t fid = -1; /* File ID */
+ hid_t gid = -1; /* Group ID */
+ hid_t did1 = -1, did2 = -1; /* Dataset IDs */
+ hid_t sid = -1; /* Dataspace ID */
+ hsize_t dims[2] = {5, 10}; /* Dataset dimension sizes */
+ int buf[50]; /* Data buffer */
+ H5F_flush_cb_t ret_cb; /* The callback function set in object flush property */
+ void *ret_ct; /* The user data set in object flush property */
+ unsigned flush_ct = 0; /* The user data for object flush property */
+ char filename[NAME_BUF_SIZE]; /* File name */
+ int i; /* Local index variable */
+ herr_t ret; /* Generic return value */
TESTING("H5Pget/set_obj_flush_cb()");
/*
* Case (1)
- * To verify the failure condition in setting object flush property
+ * To verify the failure condition in setting object flush property
*/
/* Should fail if the callback function is not defined but user data is defined */
H5E_BEGIN_TRY {
- ret = H5Pset_object_flush_cb(fapl, NULL, &flush_ct);
+ ret = H5Pset_object_flush_cb(fapl, NULL, &flush_ct);
} H5E_END_TRY;
if(ret >= 0)
- TEST_ERROR
+ TEST_ERROR
/*
* Case (2)
- * To verify the object flush property values retrieved from a
+ * To verify the object flush property values retrieved from a
* default file access property list.
*/
/* Create a copy of file access property list */
if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve object flush property values for the default file access property list */
if(H5Pget_object_flush_cb(fapl, &ret_cb, &ret_ct) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Should be null */
if(ret_cb != NULL || ret_ct != NULL)
- TEST_ERROR
+ TEST_ERROR
/*
* Case (3)
- * To verify the object flush property values retrieved from a
- * non-default file access property list.
+ * To verify the object flush property values retrieved from a
+ * non-default file access property list.
*/
/* Set the object flush property */
if(H5Pset_object_flush_cb(fapl, flush_cb, &flush_ct) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Increment the counter */
++flush_ct;
/* Retrieve object flush property values for the non-default file access property list */
if(H5Pget_object_flush_cb(fapl, &ret_cb, &ret_ct) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Verify expected values */
if(ret_cb != flush_cb || *(unsigned *)ret_ct != 1)
- TEST_ERROR
+ TEST_ERROR
/* Close the property list */
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/*
* Case (4)
- * To verify the object flush property values retrieved from a
- * default file access property list of a file
+ * To verify the object flush property values retrieved from a
+ * default file access property list of a file
*/
/* Reset values */
@@ -2744,43 +2750,43 @@ test_object_flush_cb(hid_t in_fapl)
/* Make a copy of the input parameter in_fapl */
if((fapl = H5Pcopy(in_fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Set to use the latest library format */
if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Set the filename to use for this test (dependent on fapl) */
h5_fixname(FILENAME[0], fapl, filename, sizeof(filename));
/* Create the test file: without setting object flush property in fapl */
if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get the file's file access property list */
if((ffapl = H5Fget_access_plist(fid)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Retrieve the object flush property values */
if(H5Pget_object_flush_cb(ffapl, &ret_cb, &ret_ct) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Verify expected values */
if(ret_cb != NULL || ret_ct != NULL)
- TEST_ERROR
+ TEST_ERROR
/* Closing */
if(H5Pclose(ffapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/*
* Cases (5)
- * To verify the object flush property values retrieved from a non-default
+ * To verify the object flush property values retrieved from a non-default
* file access property list of a file.
* To verify the object flush callback is invoked when doing H5Oflush(),
- * H5Dflush(), H5Gflush() and H5Tflush().
+ * H5Dflush(), H5Gflush() and H5Tflush().
*/
/* Reset values */
flush_ct = 0;
@@ -2789,91 +2795,91 @@ test_object_flush_cb(hid_t in_fapl)
/* Set the object flush property */
if(H5Pset_object_flush_cb(fapl, flush_cb, &flush_ct) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Open the test file: with object flush property setting in fapl */
if((fid = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Create a dataset */
if((sid = H5Screate_simple(2, dims, dims)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Create a dataset */
if((did1 = H5Dcreate2(fid, "dataset1", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Initialize data buffer */
for(i = 0; i < 50; i++)
- buf[i] = i + 1;
+ buf[i] = i + 1;
/* Write to the dataset */
if(H5Dwrite(did1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Flush the dataset object */
if(H5Oflush(did1) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Get the file's file access property list */
if((ffapl = H5Fget_access_plist(fid)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Retrieve the object flush property values */
if(H5Pget_object_flush_cb(ffapl, &ret_cb, &ret_ct) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Verify expected values */
if(ret_cb != flush_cb || *(unsigned *)ret_ct != 1)
- TEST_ERROR
+ TEST_ERROR
/* Create a group */
if((gid = H5Gcreate2(fid, "group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Flush the group */
if(H5Gflush(gid) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Retrieve the object flush property values */
if(H5Pget_object_flush_cb(ffapl, &ret_cb, &ret_ct) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Verify expected values */
if(ret_cb != flush_cb || *(unsigned *)ret_ct != 2)
- TEST_ERROR
+ TEST_ERROR
/* Create a dataset */
if((did2 = H5Dcreate2(gid, "dataset2", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Flush the dataset */
if(H5Dflush(did2) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Retrieve the object flush property values */
if(H5Pget_object_flush_cb(ffapl, &ret_cb, &ret_ct) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Verify expected values */
if(ret_cb != flush_cb || *(unsigned *)ret_ct != 3)
- TEST_ERROR
+ TEST_ERROR
/* Closing */
if(H5Sclose(sid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Dclose(did1) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Dclose(did2) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Gclose(gid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Pclose(ffapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
PASSED();
@@ -2881,13 +2887,13 @@ test_object_flush_cb(hid_t in_fapl)
error:
H5E_BEGIN_TRY {
- H5Pclose(fapl);
- H5Pclose(ffapl);
- H5Sclose(sid);
- H5Dclose(did1);
- H5Dclose(did2);
- H5Gclose(gid);
- H5Fclose(fid);
+ H5Pclose(fapl);
+ H5Pclose(ffapl);
+ H5Sclose(sid);
+ H5Dclose(did1);
+ H5Dclose(did2);
+ H5Gclose(gid);
+ H5Fclose(fid);
} H5E_END_TRY;
return -1;
@@ -2924,90 +2930,90 @@ append_cb2(hid_t H5_ATTR_UNUSED dset_id, hsize_t H5_ATTR_UNUSED *cur_dims, void
*
* Verify H5Pget/set_append_flush() work as specified for a generic dataset
* access property list:
- * 1) To verify the append flush property values retrieved from a default
- * access property list.
- * -- zero boundary, null callback function, null user data
- * 2) To verify the failure conditions in setting append flush property:
- * -- an invalid dataset rank: <= 0, > H5S_MAX_RANK
- * -- undefined callback but defined user data
- * -- no boundary specified
- * -- invalid boundary size: H5S_UNLIMITED, negative value
- * 3) To verify the append flush property values retrieved from a non-default
- * access property list.
- * -- the set callback function, the set user data
- * -- the # of boundary sizes retrieved does not exceed MIN(input ndims, the ndims set)
+ * 1) To verify the append flush property values retrieved from a default
+ * access property list.
+ * -- zero boundary, null callback function, null user data
+ * 2) To verify the failure conditions in setting append flush property:
+ * -- an invalid dataset rank: <= 0, > H5S_MAX_RANK
+ * -- undefined callback but defined user data
+ * -- no boundary specified
+ * -- invalid boundary size: H5S_UNLIMITED, negative value
+ * 3) To verify the append flush property values retrieved from a non-default
+ * access property list.
+ * -- the set callback function, the set user data
+ * -- the # of boundary sizes retrieved does not exceed MIN(input ndims, the ndims set)
*/
static int
test_append_flush_generic(void)
{
- hid_t dapl = -1; /* A copy of dataset access property */
- hsize_t boundary[3]; /* The boundary for append flush property */
- unsigned count = 0; /* The user data for append flush property */
- hsize_t ret_boundary[3]; /* The boundary set in append flush property */
- H5D_append_cb_t ret_cb; /* The callback function set in append flush property */
- unsigned *ret_count; /* The user data set in append flush property */
- herr_t ret; /* The return value */
+ hid_t dapl = -1; /* A copy of dataset access property */
+ hsize_t boundary[3]; /* The boundary for append flush property */
+ unsigned count = 0; /* The user data for append flush property */
+ hsize_t ret_boundary[3]; /* The boundary set in append flush property */
+ H5D_append_cb_t ret_cb; /* The callback function set in append flush property */
+ unsigned *ret_count; /* The user data set in append flush property */
+ herr_t ret; /* The return value */
TESTING("H5Fget/set_append_flush() for a generic dataset access property list");
/*
* Case (1)
- * To verify the retrieved append flush property values:
- * -- zero boundary, null callback function, null user data
+ * To verify the retrieved append flush property values:
+ * -- zero boundary, null callback function, null user data
*/
/* Create a copy of dataset access property list */
if((dapl = H5Pcreate(H5P_DATASET_ACCESS)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the append flush property values */
if(H5Pget_append_flush(dapl, 2, ret_boundary, &ret_cb, (void **)&ret_count) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Verify expected values */
if(ret_boundary[0] != 0 || ret_boundary[1] != 0)
- TEST_ERROR;
+ TEST_ERROR;
if(ret_cb != NULL || ret_count != NULL)
- TEST_ERROR
+ TEST_ERROR
/* Close the property list */
if(H5Pclose(dapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/*
* Case (2)
- * To verify the failure conditions in setting append flush property:
- * -- an invalid dataset rank: <= 0, > H5S_MAX_RANK
- * -- no boundary specified
- * -- undefined callback but defined user data
- * -- invalid boundary size: H5S_UNLIMITED, negative value
+ * To verify the failure conditions in setting append flush property:
+ * -- an invalid dataset rank: <= 0, > H5S_MAX_RANK
+ * -- no boundary specified
+ * -- undefined callback but defined user data
+ * -- invalid boundary size: H5S_UNLIMITED, negative value
*/
/* Create a copy of dataset access property list */
if((dapl = H5Pcreate(H5P_DATASET_ACCESS)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Invalid dataset rank: zero value */
H5E_BEGIN_TRY {
- ret = H5Pset_append_flush(dapl, 0, NULL, NULL, &count);
+ ret = H5Pset_append_flush(dapl, 0, NULL, NULL, &count);
} H5E_END_TRY;
if(ret >= 0)
- TEST_ERROR
+ TEST_ERROR
/* Invalid dataset rank: > H5S_MAX_RANK */
H5E_BEGIN_TRY {
- ret = H5Pset_append_flush(dapl, H5S_MAX_RANK+1, NULL, NULL, &count);
+ ret = H5Pset_append_flush(dapl, H5S_MAX_RANK+1, NULL, NULL, &count);
} H5E_END_TRY;
if(ret >= 0)
- TEST_ERROR
+ TEST_ERROR
/* No boundary specified */
H5E_BEGIN_TRY {
- ret = H5Pset_append_flush(dapl, 2, NULL, NULL, &count);
+ ret = H5Pset_append_flush(dapl, 2, NULL, NULL, &count);
} H5E_END_TRY;
if(ret >= 0)
- TEST_ERROR
+ TEST_ERROR
/* Set up a valid boundary */
boundary[0] = 1;
@@ -3015,61 +3021,61 @@ test_append_flush_generic(void)
/* Undefined callback function but defined user data */
H5E_BEGIN_TRY {
- ret = H5Pset_append_flush(dapl, 2, boundary, NULL, &count);
+ ret = H5Pset_append_flush(dapl, 2, boundary, NULL, &count);
} H5E_END_TRY;
if(ret >= 0)
- TEST_ERROR
+ TEST_ERROR
/* Invalid boundary size: negative value */
boundary[0] = (hsize_t)-1;
boundary[1] = 1;
H5E_BEGIN_TRY {
- ret = H5Pset_append_flush(dapl, 2, boundary, append_cb, &count);
+ ret = H5Pset_append_flush(dapl, 2, boundary, append_cb, &count);
} H5E_END_TRY;
if(ret >= 0)
- TEST_ERROR
+ TEST_ERROR
/* Invalid boundary size: H5S_UNLIMITED */
boundary[0] = 1;
boundary[1] = H5S_UNLIMITED;
H5E_BEGIN_TRY {
- ret = H5Pset_append_flush(dapl, 2, boundary, append_cb, &count);
+ ret = H5Pset_append_flush(dapl, 2, boundary, append_cb, &count);
} H5E_END_TRY;
if(ret >= 0)
- TEST_ERROR
+ TEST_ERROR
/*
* Case (3)
- * To verify the append flush property values retrieved from a non-default
+ * To verify the append flush property values retrieved from a non-default
* access property list:
- * -- the set callback function, the set user data
- * -- the # of boundary sizes retrieved does not exceed MIN(input ndims, the ndims set)
+ * -- the set callback function, the set user data
+ * -- the # of boundary sizes retrieved does not exceed MIN(input ndims, the ndims set)
*/
boundary[0] = boundary[1] = 1;
boundary[2] = 0;
count = 1;
if(H5Pset_append_flush(dapl, 2, boundary, append_cb, &count) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
++count;
/* Verify expected values: with boundary rank > set boundary rank */
if(H5Pget_append_flush(dapl, 3, ret_boundary, &ret_cb, (void **)&ret_count) < 0)
- TEST_ERROR
+ TEST_ERROR
if(ret_boundary[0] != 1 || ret_boundary[1] != 1 || boundary[2] != 0)
- TEST_ERROR;
+ TEST_ERROR;
if(ret_cb == NULL || ret_count == NULL || *ret_count != 2)
- TEST_ERROR
+ TEST_ERROR
/* Verify expected values: with boundary rank < set boundary rank */
HDmemset(ret_boundary, 0, sizeof(ret_boundary));
if(H5Pget_append_flush(dapl, 1, ret_boundary, NULL, NULL) < 0)
- TEST_ERROR
+ TEST_ERROR
if(ret_boundary[0] != 1 || ret_boundary[1] != 0 || boundary[2] != 0)
- TEST_ERROR;
+ TEST_ERROR;
/* Closing */
if(H5Pclose(dapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
PASSED();
@@ -3077,7 +3083,7 @@ test_append_flush_generic(void)
error:
H5E_BEGIN_TRY {
- H5Pclose(dapl);
+ H5Pclose(dapl);
} H5E_END_TRY;
return -1;
@@ -3088,58 +3094,58 @@ error:
*
* Verify H5Pget/set_append_flush() work as specified for a chunked dataset's
* access property list:
- * 1) To verify the append flush property values retrieved from a default
- * access property list:
- * -- zero boundary, null callback function, null user data
- * 2) To verify failure in creating dataset when:
- * -- the rank set in append flush property is not the same as the dataset's rank
- * -- boundary (non-zero) is set for a non-extendible dimension
- * 3) To verify the append flush property values retrieved from a non-default
- * access property list:
- * -- the set callback function, the set user data
- * -- the # of boundary sizes retrieved does not exceed MIN(input ndims, the ndims set)
+ * 1) To verify the append flush property values retrieved from a default
+ * access property list:
+ * -- zero boundary, null callback function, null user data
+ * 2) To verify failure in creating dataset when:
+ * -- the rank set in append flush property is not the same as the dataset's rank
+ * -- boundary (non-zero) is set for a non-extendible dimension
+ * 3) To verify the append flush property values retrieved from a non-default
+ * access property list:
+ * -- the set callback function, the set user data
+ * -- the # of boundary sizes retrieved does not exceed MIN(input ndims, the ndims set)
*/
static int
test_append_flush_dataset_chunked(hid_t in_fapl)
{
- hid_t fid = -1; /* file ID */
- hid_t fapl = -1; /* A copy of file access property */
- hid_t did1 = -1, did2 = -1; /* The datset ID */
- hid_t sid = -1; /* The dataspace ID */
- hid_t dcpl = -1; /* A copy of dataset creation property */
- hid_t dapl = -1; /* A copy of dataset access property */
- hid_t ddapl = -1; /* The dataset access property of the opened dataset */
+ hid_t fid = -1; /* file ID */
+ hid_t fapl = -1; /* A copy of file access property */
+ hid_t did1 = -1, did2 = -1; /* The datset ID */
+ hid_t sid = -1; /* The dataspace ID */
+ hid_t dcpl = -1; /* A copy of dataset creation property */
+ hid_t dapl = -1; /* A copy of dataset access property */
+ hid_t ddapl = -1; /* The dataset access property of the opened dataset */
- hsize_t boundary[3]; /* Boundary size */
- unsigned count = 0; /* User data */
+ hsize_t boundary[3]; /* Boundary size */
+ unsigned count = 0; /* User data */
- hsize_t ret_boundary[3]; /* Boundary size set in the append flush property */
- H5D_append_cb_t ret_cb; /* The callback function set in the append flush property */
- unsigned *ret_count; /* The user data set in the append flush property */
+ hsize_t ret_boundary[3]; /* Boundary size set in the append flush property */
+ H5D_append_cb_t ret_cb; /* The callback function set in the append flush property */
+ unsigned *ret_count; /* The user data set in the append flush property */
- char filename[NAME_BUF_SIZE]; /* file name */
+ char filename[NAME_BUF_SIZE]; /* file name */
- hsize_t dims[2] = {100, 0}; /* The dataset dimension sizes */
- hsize_t maxdims[2] = {100, H5S_UNLIMITED}; /* The dataset maximum dimension sizes */
- hsize_t chunk_dims[2] = {5,2}; /* The chunk dimesion sizes */
+ hsize_t dims[2] = {100, 0}; /* The dataset dimension sizes */
+ hsize_t maxdims[2] = {100, H5S_UNLIMITED}; /* The dataset maximum dimension sizes */
+ hsize_t chunk_dims[2] = {5,2}; /* The chunk dimesion sizes */
TESTING("H5Fget/set_append_flush() for a chunked dataset's access property list");
/*
* Case (1)--
- * For a chunked dataset's access property list:
- * --to verify the append flush property values retrieved from a default access
- * a default access property list is:
- * zero rank, zero boundary, null callback function, null user data
+ * For a chunked dataset's access property list:
+ * --to verify the append flush property values retrieved from a default access
+ * a default access property list is:
+ * zero rank, zero boundary, null callback function, null user data
*/
/* Get a copy of the input parameter in_fapl */
if((fapl = H5Pcopy(in_fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Set to use the latest library format */
if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Set the filename to use for this test (dependent on fapl) */
@@ -3147,144 +3153,144 @@ test_append_flush_dataset_chunked(hid_t in_fapl)
/* Create the test file to work on */
if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Create a chunked dataset with 1 extendible dimension */
if((sid = H5Screate_simple(2, dims, maxdims)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(H5Pset_chunk(dcpl, 2, chunk_dims) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if((did1 = H5Dcreate2(fid, "dataset1", H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Get the dataset's access property list */
if((ddapl = H5Dget_access_plist(did1)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the append flush property values */
if(H5Pget_append_flush(ddapl, 3, ret_boundary, &ret_cb, (void **)&ret_count) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Verify expected values */
if(ret_boundary[0] != 0 || ret_boundary[1] != 0 || ret_boundary[2] != 0)
- TEST_ERROR;
+ TEST_ERROR;
if(ret_cb != NULL || ret_count != NULL)
- TEST_ERROR
+ TEST_ERROR
/* Close the dataset's access property list */
if(H5Pclose(ddapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/*
* Case (2)--
- * For a chunked dataset's access property list:
- * --to verify failure in creating the dataset when:
- * --the rank set in append flush property is not the same as the dataset's rank
- * -- boundary (non-zero) is set for a non-extendible dimension
+ * For a chunked dataset's access property list:
+ * --to verify failure in creating the dataset when:
+ * --the rank set in append flush property is not the same as the dataset's rank
+ * -- boundary (non-zero) is set for a non-extendible dimension
* --to verify failure in opening the dataset
- * -- boundary (non-zero) is set for a non-extendible dimension
+ * -- boundary (non-zero) is set for a non-extendible dimension
*/
/* Create a copy of dataset access property list */
if((dapl = H5Pcreate(H5P_DATASET_ACCESS)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Set boundary dimension rank > the rank of dataset to be created */
HDmemset(boundary, 0, sizeof(boundary));
if(H5Pset_append_flush(dapl, 3, boundary, NULL, NULL) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Should fail to Create the dataset */
H5E_BEGIN_TRY {
- did2 = H5Dcreate2(fid, "dataset2", H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, dapl);
+ did2 = H5Dcreate2(fid, "dataset2", H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, dapl);
} H5E_END_TRY;
if(did2 >= 0)
- TEST_ERROR
+ TEST_ERROR
/* Set boundary for a non-extendible dimension */
boundary[0] = boundary[1] = 1;
if(H5Pset_append_flush(dapl, 2, boundary, NULL, NULL) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Should fail to create the dataset */
H5E_BEGIN_TRY {
- did2 = H5Dcreate2(fid, "dataset2", H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, dapl);
+ did2 = H5Dcreate2(fid, "dataset2", H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, dapl);
} H5E_END_TRY;
if(did2 >= 0)
- TEST_ERROR
+ TEST_ERROR
/* Create and close the dataset */
if((did2 = H5Dcreate2(fid, "dataset2", H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Dclose(did2) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Should fail to open the dataset */
H5E_BEGIN_TRY {
- did2 = H5Dopen2(fid, "dataset2", dapl);
+ did2 = H5Dopen2(fid, "dataset2", dapl);
} H5E_END_TRY;
if(did2 >= 0)
- TEST_ERROR
+ TEST_ERROR
/*
* Case (3)--
- * For a chunked dataset's access property list:
- * --To verify the append flush property values retrieved from a non-default
+ * For a chunked dataset's access property list:
+ * --To verify the append flush property values retrieved from a non-default
* access property list:
- * -- the set callback function, the set user data
- * -- the # of boundary sizes retrieved does not exceed MIN(input ndims, the ndims set)
+ * -- the set callback function, the set user data
+ * -- the # of boundary sizes retrieved does not exceed MIN(input ndims, the ndims set)
*/
-
+
boundary[0] = 0;
boundary[1] = 1;
if(H5Pset_append_flush(dapl, 2, boundary, append_cb, &count) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if((did2 = H5Dopen2(fid, "dataset2", dapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get the dataset's access property list */
if((ddapl = H5Dget_access_plist(did2)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
HDmemset(ret_boundary, 0, sizeof(ret_boundary));
ret_cb = NULL;
ret_count = NULL;
/* Retrieve the append flush property values */
if(H5Pget_append_flush(ddapl, 3, ret_boundary, &ret_cb, (void **)&ret_count) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Verify expected values */
if(ret_cb != append_cb || ret_count != &count)
- TEST_ERROR
+ TEST_ERROR
if(ret_boundary[0] != 0 || ret_boundary[1] != 1 || ret_boundary[2] != 0)
- TEST_ERROR
+ TEST_ERROR
HDmemset(ret_boundary, 0, sizeof(ret_boundary));
/* Retrieve the append flush property values */
if(H5Pget_append_flush(ddapl, 1, ret_boundary, NULL, NULL) < 0)
- TEST_ERROR
+ TEST_ERROR
if(ret_boundary[0] != 0 || ret_boundary[1] != 0 || ret_boundary[2] != 0)
- TEST_ERROR
+ TEST_ERROR
/* Closing */
if(H5Pclose(ddapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Pclose(dapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Pclose(dcpl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Dclose(did1) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Dclose(did2) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Sclose(sid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
PASSED();
@@ -3292,14 +3298,14 @@ test_append_flush_dataset_chunked(hid_t in_fapl)
error:
H5E_BEGIN_TRY {
- H5Pclose(dcpl);
- H5Pclose(dapl);
- H5Pclose(ddapl);
- H5Dclose(did1);
- H5Dclose(did2);
- H5Pclose(fapl);
- H5Sclose(sid);
- H5Fclose(fid);
+ H5Pclose(dcpl);
+ H5Pclose(dapl);
+ H5Pclose(ddapl);
+ H5Dclose(did1);
+ H5Dclose(did2);
+ H5Pclose(fapl);
+ H5Sclose(sid);
+ H5Fclose(fid);
} H5E_END_TRY;
return -1;
@@ -3310,29 +3316,29 @@ error:
*
* Verify H5Pget/set_append_flush() work as specified for a
* non-chunked (fixed size) dataset's access property list:
- * (1) To verify success in creating the dataset--whatever is set for the append flush property setting
- * (2) To verify that default append flush property values are retrieved for both
- * default or non-default access property list:
- * -- zero boundary, null callback function, null user data
+ * (1) To verify success in creating the dataset--whatever is set for the append flush property setting
+ * (2) To verify that default append flush property values are retrieved for both
+ * default or non-default access property list:
+ * -- zero boundary, null callback function, null user data
*/
static int
test_append_flush_dataset_fixed(hid_t in_fapl)
{
- hid_t fid = -1; /* file ID */
- hid_t fapl = -1; /* A copy of file access property */
- hid_t did1 = -1, did2 = -1; /* The datset ID */
- hid_t sid = -1; /* The dataspace ID */
- hid_t dapl = -1; /* A copy of dataset access property */
- hid_t ddapl = -1; /* The dataset access property of the opened dataset */
+ hid_t fid = -1; /* file ID */
+ hid_t fapl = -1; /* A copy of file access property */
+ hid_t did1 = -1, did2 = -1; /* The datset ID */
+ hid_t sid = -1; /* The dataspace ID */
+ hid_t dapl = -1; /* A copy of dataset access property */
+ hid_t ddapl = -1; /* The dataset access property of the opened dataset */
- hsize_t boundary[3]; /* Boundary size */
- unsigned count = 0; /* User data */
+ hsize_t boundary[3]; /* Boundary size */
+ unsigned count = 0; /* User data */
- hsize_t ret_boundary[3]; /* Boundary size set in the append flush property */
- H5D_append_cb_t ret_cb; /* The callback function set in the append flush property */
- unsigned *ret_count; /* The user data set in the append flush property */
+ hsize_t ret_boundary[3]; /* Boundary size set in the append flush property */
+ H5D_append_cb_t ret_cb; /* The callback function set in the append flush property */
+ unsigned *ret_count; /* The user data set in the append flush property */
- char filename[NAME_BUF_SIZE]; /* file name */
+ char filename[NAME_BUF_SIZE]; /* file name */
hsize_t dims[1] = {100};
@@ -3340,19 +3346,19 @@ test_append_flush_dataset_fixed(hid_t in_fapl)
/*
* Case (1)--
- * For a non-chunked dataset's access property list:
- * --to verify the append flush property values retrieved from
- * a default access property list is:
- * zero boundary, null callback function, null user data
+ * For a non-chunked dataset's access property list:
+ * --to verify the append flush property values retrieved from
+ * a default access property list is:
+ * zero boundary, null callback function, null user data
*/
/* Get a copy of the input parameter in_fapl */
if((fapl = H5Pcopy(in_fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Set to use the latest library format */
if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Set the filename to use for this test (dependent on fapl) */
@@ -3360,138 +3366,138 @@ test_append_flush_dataset_fixed(hid_t in_fapl)
/* Create the test file to work on */
if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Create a dataset */
if((sid = H5Screate_simple(1, dims, dims)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if((did1 = H5Dcreate2(fid, "dataset1", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Get the dataset's access property list */
if((ddapl = H5Dget_access_plist(did1)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the append flush property values */
if(H5Pget_append_flush(ddapl, 3, ret_boundary, &ret_cb, (void **)&ret_count) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Verify expected values */
if(ret_boundary[0] != 0 || ret_boundary[1] != 0 || ret_boundary[2] != 0)
- TEST_ERROR;
+ TEST_ERROR;
if(ret_cb != NULL || ret_count != NULL)
- TEST_ERROR
+ TEST_ERROR
/* Close the dataset's access property list */
if(H5Pclose(ddapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/*
* Case (2)--
- * For a non-chunked dataset's access property list:
- * --to verify success in creating and opening the dataset even when append flush property
- * is setup with error conditions:
- * --the rank set in append flush property is not the same as the dataset's rank
- * --boundary is set
+ * For a non-chunked dataset's access property list:
+ * --to verify success in creating and opening the dataset even when append flush property
+ * is setup with error conditions:
+ * --the rank set in append flush property is not the same as the dataset's rank
+ * --boundary is set
* --to verify the append flush property values are:
- * zero boundary, null callback function, null user data
+ * zero boundary, null callback function, null user data
*/
/* Create a copy of dataset access property list */
if((dapl = H5Pcreate(H5P_DATASET_ACCESS)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
boundary[0] = 1;
boundary[1] = boundary[2] = 0;
if(H5Pset_append_flush(dapl, 3, boundary, append_cb, &count) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Should succeed to create the dataset: append flush property has no effect */
if((did2 = H5Dcreate2(fid, "dataset2", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, dapl)) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Get the dataset's access property list */
if((ddapl = H5Dget_access_plist(did2)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the append flush property values */
if(H5Pget_append_flush(ddapl, 3, ret_boundary, &ret_cb, (void **)&ret_count) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Verify expected values */
if(ret_cb != NULL || ret_count != NULL)
- TEST_ERROR
+ TEST_ERROR
if(ret_boundary[0] != 0 || ret_boundary[1] != 0 || ret_boundary[2] != 0)
- TEST_ERROR
+ TEST_ERROR
/* Closing */
if(H5Pclose(ddapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Dclose(did2) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Should succeed in opening the dataset: append flush property has no effect */
if((did2 = H5Dopen2(fid, "dataset2", dapl)) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Get the dataset's access property list */
if((ddapl = H5Dget_access_plist(did2)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the append flush property values */
if(H5Pget_append_flush(ddapl, 3, ret_boundary, &ret_cb, (void **)&ret_count) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Verify expected values */
if(ret_cb != NULL || ret_count != NULL)
- TEST_ERROR
+ TEST_ERROR
if(ret_boundary[0] != 0 || ret_boundary[1] != 0 || ret_boundary[2] != 0)
- TEST_ERROR
+ TEST_ERROR
if(H5Dclose(did2) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/*
- * Case (3)--
- * For a non-chunked dataset's access property list:
- * --To verify the append flush property values retrieved from a non-default
+ * Case (3)--
+ * For a non-chunked dataset's access property list:
+ * --To verify the append flush property values retrieved from a non-default
* access property list:
- * zero boundary, null callback function, null user data
+ * zero boundary, null callback function, null user data
*/
-
+
HDmemset(boundary, 0, sizeof(boundary));
if(H5Pset_append_flush(dapl, 1, boundary, append_cb, &count) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if((did2 = H5Dopen2(fid, "dataset2", dapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get the dataset's access property list */
if((ddapl = H5Dget_access_plist(did2)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the append flush property values */
if(H5Pget_append_flush(ddapl, 1, ret_boundary, &ret_cb, (void **)&ret_count) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Verify expected values */
if(ret_cb != NULL || ret_count != NULL)
- TEST_ERROR
+ TEST_ERROR
if(ret_boundary[0] != 0 || ret_boundary[1] != 0 || ret_boundary[2] != 0)
- TEST_ERROR
+ TEST_ERROR
/* Closing */
if(H5Pclose(ddapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Pclose(dapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Dclose(did1) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Dclose(did2) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Sclose(sid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
PASSED();
@@ -3499,13 +3505,13 @@ test_append_flush_dataset_fixed(hid_t in_fapl)
error:
H5E_BEGIN_TRY {
- H5Pclose(dapl);
- H5Pclose(ddapl);
- H5Dclose(did1);
- H5Dclose(did2);
- H5Pclose(fapl);
- H5Sclose(sid);
- H5Fclose(fid);
+ H5Pclose(dapl);
+ H5Pclose(ddapl);
+ H5Dclose(did1);
+ H5Dclose(did2);
+ H5Pclose(fapl);
+ H5Sclose(sid);
+ H5Fclose(fid);
} H5E_END_TRY;
return -1;
@@ -3516,221 +3522,221 @@ error:
*
* Verify H5Pget/set_append_flush() work as specified for multiple opens
* of a dataset:
- * (1) did1 = H5Dcreate(...dapl1...)
- * did2 = H5Dopen2(...dapl2)
- * H5Pget_append_flush(did1...)
- * H5Pget_append_flush(did2...)
- * -- should return append flush property values set in dapl1
- * (2) H5Dcreate(...H5P_DEFAULT...)
- * H5Dclose()
- * did1 = H5Dopen2(...dapl1)
- * did2 = H5Dopen2(..dapl2)
- * H5Pget_append_flush(did1, ...)
- * H5Pget_append_flush(did2, ...)
- * -- should return append flush property values set in dapl1
- * NOTE:
- * FOR NOW: return the append flush property values of the create or the very first open
- * LATER ON: should REJECT subsequent dataset open if append flush property values differ
+ * (1) did1 = H5Dcreate(...dapl1...)
+ * did2 = H5Dopen2(...dapl2)
+ * H5Pget_append_flush(did1...)
+ * H5Pget_append_flush(did2...)
+ * -- should return append flush property values set in dapl1
+ * (2) H5Dcreate(...H5P_DEFAULT...)
+ * H5Dclose()
+ * did1 = H5Dopen2(...dapl1)
+ * did2 = H5Dopen2(..dapl2)
+ * H5Pget_append_flush(did1, ...)
+ * H5Pget_append_flush(did2, ...)
+ * -- should return append flush property values set in dapl1
+ * NOTE:
+ * FOR NOW: return the append flush property values of the create or the very first open
+ * LATER ON: should REJECT subsequent dataset open if append flush property values differ
*/
static int
test_append_flush_dataset_multiple(hid_t in_fapl)
{
- hid_t fid = -1; /* file ID */
- hid_t fapl = -1; /* A copy of file access property */
- hid_t did1 = -1, did2 = -1; /* The datset ID */
- hid_t sid = -1; /* The dataspace ID */
- hid_t dcpl = -1; /* A copy of dataset creation property */
- hid_t dapl1 = -1; /* A copy of dataset access property */
- hid_t dapl2 = -1; /* A copy of dataset access property */
- hid_t ddapl = -1; /* The dataset access property of the opened dataset */
-
- hsize_t boundary1[3]; /* Boundary size */
- hsize_t boundary2[3]; /* Boundary size */
- unsigned count1 = 0; /* User data */
- unsigned count2 = 0; /* User data */
-
- hsize_t ret_boundary[3]; /* Boundary size set in the append flush property */
- H5D_append_cb_t ret_cb; /* The callback function set in the append flush property */
- unsigned *ret_count; /* The user data set in the append flush property */
-
- char filename[NAME_BUF_SIZE]; /* file name */
-
- hsize_t dims[2] = {0, 0}; /* The dataset dimension sizes */
- hsize_t maxdims[2] = {H5S_UNLIMITED, H5S_UNLIMITED}; /* The dataset maximum dimension sizes */
- hsize_t chunk_dims[2] = {5,2}; /* The chunk dimesion sizes */
+ hid_t fid = -1; /* file ID */
+ hid_t fapl = -1; /* A copy of file access property */
+ hid_t did1 = -1, did2 = -1; /* The datset ID */
+ hid_t sid = -1; /* The dataspace ID */
+ hid_t dcpl = -1; /* A copy of dataset creation property */
+ hid_t dapl1 = -1; /* A copy of dataset access property */
+ hid_t dapl2 = -1; /* A copy of dataset access property */
+ hid_t ddapl = -1; /* The dataset access property of the opened dataset */
+
+ hsize_t boundary1[3]; /* Boundary size */
+ hsize_t boundary2[3]; /* Boundary size */
+ unsigned count1 = 0; /* User data */
+ unsigned count2 = 0; /* User data */
+
+ hsize_t ret_boundary[3]; /* Boundary size set in the append flush property */
+ H5D_append_cb_t ret_cb; /* The callback function set in the append flush property */
+ unsigned *ret_count; /* The user data set in the append flush property */
+
+ char filename[NAME_BUF_SIZE]; /* file name */
+
+ hsize_t dims[2] = {0, 0}; /* The dataset dimension sizes */
+ hsize_t maxdims[2] = {H5S_UNLIMITED, H5S_UNLIMITED}; /* The dataset maximum dimension sizes */
+ hsize_t chunk_dims[2] = {5,2}; /* The chunk dimesion sizes */
TESTING("H5Fget/set_append_flush() for multiple opens of a chunked dataset");
/*
* Case (1)
- * For a chunked dataset's access property list:
- * did1 = H5Dcreate(...dapl1...)
- * did2 = H5Dopen2(...dapl2)
- * H5Pget_append_flush(did1...)
- * H5Pget_append_flush(did2...)
- * -- should return append flush property values set in dapl1
+ * For a chunked dataset's access property list:
+ * did1 = H5Dcreate(...dapl1...)
+ * did2 = H5Dopen2(...dapl2)
+ * H5Pget_append_flush(did1...)
+ * H5Pget_append_flush(did2...)
+ * -- should return append flush property values set in dapl1
*/
/* Create a copy of dataset access property list */
if((dapl1 = H5Pcreate(H5P_DATASET_ACCESS)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if((dapl2 = H5Pcreate(H5P_DATASET_ACCESS)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
boundary1[0] = 0;
boundary1[1] = 1;
count1 = 0;
if(H5Pset_append_flush(dapl1, 2, boundary1, append_cb, &count1) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
boundary2[0] = 1;
boundary2[1] = 0;
count2 = 0;
if(H5Pset_append_flush(dapl2, 2, boundary2, append_cb2, &count2) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get a copy of the input parameter in_fapl */
if((fapl = H5Pcopy(in_fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Set to use the latest library format */
if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Set the filename to use for this test (dependent on fapl) */
h5_fixname(FILENAME[0], fapl, filename, sizeof(filename));
/* Create the test file to work on */
if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Create a chunked dataset with 2 extendible dimensions */
if((sid = H5Screate_simple(2, dims, maxdims)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(H5Pset_chunk(dcpl, 2, chunk_dims) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if((did1 = H5Dcreate2(fid, "dataset1", H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, dapl1)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Open the dataset */
if((did2 = H5Dopen2(fid, "dataset1", dapl2)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Get the dataset's access property list for did1 */
if((ddapl = H5Dget_access_plist(did1)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the append flush property values */
if(H5Pget_append_flush(ddapl, 3, ret_boundary, &ret_cb, (void **)&ret_count) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Verify expected values: should be the setting in dapl1 */
if(ret_boundary[0] != 0 || ret_boundary[1] != 1 || ret_boundary[2] != 0)
- TEST_ERROR;
+ TEST_ERROR;
if(ret_cb != append_cb || ret_count != &count1)
- TEST_ERROR
+ TEST_ERROR
/* Close the dataset's access property list */
if(H5Pclose(ddapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Get the dataset's access property list for did2 */
if((ddapl = H5Dget_access_plist(did2)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the append flush property values */
if(H5Pget_append_flush(ddapl, 3, ret_boundary, &ret_cb, (void **)&ret_count) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Verify expected values: should be the setting in dapl1 */
if(ret_boundary[0] != 0 || ret_boundary[1] != 1 || ret_boundary[2] != 0)
- TEST_ERROR;
+ TEST_ERROR;
if(ret_cb != append_cb || ret_count != &count1)
- TEST_ERROR
+ TEST_ERROR
/* Close the dataset's access property list */
if(H5Pclose(ddapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
H5Dclose(did1);
H5Dclose(did2);
/*
* Case (2)
- * For a chunked dataset's access property list:
- * H5Dcreate(...H5P_DEFAULT...)
- * H5Dclose()
- * did1 = H5Dopen2(...dapl1)
- * did2 = H5Dopen2(..dapl2)
- * H5Pget_append_flush(did1, ...)
- * H5Pget_append_flush(did2, ...)
- * -- should return append flush property values set in dapl1
+ * For a chunked dataset's access property list:
+ * H5Dcreate(...H5P_DEFAULT...)
+ * H5Dclose()
+ * did1 = H5Dopen2(...dapl1)
+ * did2 = H5Dopen2(..dapl2)
+ * H5Pget_append_flush(did1, ...)
+ * H5Pget_append_flush(did2, ...)
+ * -- should return append flush property values set in dapl1
*/
if((did1 = H5Dcreate2(fid, "dataset2", H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Dclose(did1) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Open the dataset with append flush setting in dapl2 */
if((did1 = H5Dopen2(fid, "dataset2", dapl2)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Open the dataset with append flush setting in dapl1 */
if((did2 = H5Dopen2(fid, "dataset2", dapl1)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Get the dataset's access property list for did1 */
if((ddapl = H5Dget_access_plist(did1)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the append flush property values */
if(H5Pget_append_flush(ddapl, 3, ret_boundary, &ret_cb, (void **)&ret_count) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Verify expected values: should be the setting in dapl2 */
if(ret_boundary[0] != 1 || ret_boundary[1] != 0 || ret_boundary[2] != 0)
- TEST_ERROR;
+ TEST_ERROR;
if(ret_cb != append_cb2 || ret_count != &count2)
- TEST_ERROR
+ TEST_ERROR
/* Close the access property list */
if(H5Pclose(ddapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
/* Get the dataset's access property list for did2 */
if((ddapl = H5Dget_access_plist(did2)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Retrieve the append flush property values */
if(H5Pget_append_flush(ddapl, 3, ret_boundary, &ret_cb, (void **)&ret_count) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Verify expected values: should be the setting in dapl2 */
if(ret_boundary[0] != 1 || ret_boundary[1] != 0 || ret_boundary[2] != 0)
- TEST_ERROR;
+ TEST_ERROR;
if(ret_cb != append_cb2 || ret_count != &count2)
- TEST_ERROR
+ TEST_ERROR
/* Closing */
if(H5Pclose(ddapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Pclose(dapl2) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Pclose(dapl1) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Pclose(dcpl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Dclose(did1) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Dclose(did2) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Sclose(sid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
PASSED();
@@ -3738,15 +3744,15 @@ test_append_flush_dataset_multiple(hid_t in_fapl)
error:
H5E_BEGIN_TRY {
- H5Pclose(dcpl);
- H5Pclose(dapl1);
- H5Pclose(dapl2);
- H5Pclose(ddapl);
- H5Dclose(did1);
- H5Dclose(did2);
- H5Pclose(fapl);
- H5Sclose(sid);
- H5Fclose(fid);
+ H5Pclose(dcpl);
+ H5Pclose(dapl1);
+ H5Pclose(dapl2);
+ H5Pclose(ddapl);
+ H5Dclose(did1);
+ H5Dclose(did2);
+ H5Pclose(fapl);
+ H5Sclose(sid);
+ H5Fclose(fid);
} H5E_END_TRY;
return -1;
@@ -3765,9 +3771,9 @@ error:
static int
test_file_lock_same(hid_t in_fapl)
{
- hid_t fid = -1, fid2 = -1; /* File IDs */
- hid_t fapl = -1; /* File access property list */
- unsigned intent; /* File access flags */
+ hid_t fid = -1, fid2 = -1; /* File IDs */
+ hid_t fapl = -1; /* File access property list */
+ unsigned intent; /* File access flags */
char filename[NAME_BUF_SIZE]; /* file name */
/* Output message about test being performed */
@@ -3784,118 +3790,118 @@ test_file_lock_same(hid_t in_fapl)
*/
/* Create file */
if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get and check file intent */
if(H5Fget_intent(fid, &intent) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(intent != H5F_ACC_RDWR)
- TEST_ERROR
+ TEST_ERROR
/* Open the same file with RDWR */
if((fid2 = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get and check the intent */
if(H5Fget_intent(fid2, &intent) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(intent != H5F_ACC_RDWR)
- TEST_ERROR
+ TEST_ERROR
/* Close file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close file */
if(H5Fclose(fid2) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/*
* Case 2: 1) RDWR 2) RDONLY : should succeed
*/
/* Open file with RDWR */
if((fid = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get and check the intent */
if(H5Fget_intent(fid, &intent) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(intent != H5F_ACC_RDWR)
- TEST_ERROR
+ TEST_ERROR
/* Open file with RDONLY */
if((fid2 = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get and check the intent: should get intent from 1st open */
if(H5Fget_intent(fid2, &intent) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(intent != H5F_ACC_RDWR)
- TEST_ERROR
+ TEST_ERROR
/* Close file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close file */
if(H5Fclose(fid2) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/*
* Case 3: 1) RDONLY 2) RDWR : should fail
*/
/* Open file with RDONLY */
if((fid = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get and check the intent */
if(H5Fget_intent(fid, &intent) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(intent != H5F_ACC_RDONLY)
- TEST_ERROR
+ TEST_ERROR
/* Open file with RDWR should fail */
H5E_BEGIN_TRY {
fid2 = H5Fopen(filename, H5F_ACC_RDWR, fapl);
} H5E_END_TRY;
if(fid2 >= 0)
- TEST_ERROR
+ TEST_ERROR
/* Close first file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/*
* Case 4: 1) RDONLY 2) RDONLY : should succeed
*/
/* Open file with RDONLY */
if((fid = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get and check the intent */
if(H5Fget_intent(fid, &intent) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(intent != H5F_ACC_RDONLY)
- TEST_ERROR
+ TEST_ERROR
/* Open file with RDONLY */
if((fid2 = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get and check the intent */
if(H5Fget_intent(fid2, &intent) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(intent != H5F_ACC_RDONLY)
- TEST_ERROR
+ TEST_ERROR
/* Close file */
if(H5Fclose(fid) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close file */
if(H5Fclose(fid2) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Close the property list */
if(H5Pclose(fapl) < 0)
@@ -3907,9 +3913,9 @@ test_file_lock_same(hid_t in_fapl)
error:
H5E_BEGIN_TRY {
- H5Pclose(fapl);
- H5Fclose(fid);
- H5Fclose(fid2);
+ H5Pclose(fapl);
+ H5Fclose(fid);
+ H5Fclose(fid2);
} H5E_END_TRY;
return -1;
@@ -3927,7 +3933,7 @@ static int
test_file_lock_swmr_same(hid_t in_fapl)
{
hid_t fid, fid2; /* File IDs */
- hid_t fapl; /* File access property list */
+ hid_t fapl; /* File access property list */
char filename[NAME_BUF_SIZE]; /* file name */
/* Output message about test being performed */
@@ -3960,37 +3966,37 @@ test_file_lock_swmr_same(hid_t in_fapl)
* Case a: RDWR|SWRM_READ : should fail
*/
H5E_BEGIN_TRY {
- fid = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_READ, fapl);
+ fid = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_READ, fapl);
} H5E_END_TRY;
if(fid >= 0)
- TEST_ERROR
+ TEST_ERROR
/*
* Case b: RDWR|SWMM_WRTE|SWMR_READ : should fail
*/
H5E_BEGIN_TRY {
- fid = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE|H5F_ACC_SWMR_READ, fapl);
+ fid = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE|H5F_ACC_SWMR_READ, fapl);
} H5E_END_TRY;
if(fid >= 0)
- TEST_ERROR
+ TEST_ERROR
/*
* Case c: RDONLY|SWMM_WRITE : should fail
*/
H5E_BEGIN_TRY {
- fid = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_WRITE, fapl);
+ fid = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_WRITE, fapl);
} H5E_END_TRY;
if(fid >= 0)
- TEST_ERROR
+ TEST_ERROR
/*
* Case d: RDONLY|SWMM_WRITE|SWMR_READ : should fail
*/
H5E_BEGIN_TRY {
- fid = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_WRITE|H5F_ACC_SWMR_READ, fapl);
+ fid = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_WRITE|H5F_ACC_SWMR_READ, fapl);
} H5E_END_TRY;
if(fid >= 0)
- TEST_ERROR
+ TEST_ERROR
/*
* Cases 1 - 12: combinations of different flags for 1st and 2nd opens
@@ -4003,10 +4009,10 @@ test_file_lock_swmr_same(hid_t in_fapl)
FAIL_STACK_ERROR
H5E_BEGIN_TRY {
- fid2 = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE, fapl);
+ fid2 = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE, fapl);
} H5E_END_TRY;
if(fid2 >= 0)
- TEST_ERROR
+ TEST_ERROR
/* Close file */
if(H5Fclose(fid) < 0)
@@ -4016,9 +4022,9 @@ test_file_lock_swmr_same(hid_t in_fapl)
* Case 2: 1) RDWR 2) RDONLY|SWMR_READ : should succeed
*/
if((fid = H5Fopen(filename, H5F_ACC_RDWR, H5P_DEFAULT)) < 0)
- TEST_ERROR
+ TEST_ERROR
if((fid2 = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_READ, fapl)) < 0)
- TEST_ERROR
+ TEST_ERROR
/* Close file */
if(H5Fclose(fid) < 0)
@@ -4097,10 +4103,10 @@ test_file_lock_swmr_same(hid_t in_fapl)
FAIL_STACK_ERROR
H5E_BEGIN_TRY {
- fid2 = H5Fopen(filename, H5F_ACC_RDWR, H5P_DEFAULT);
+ fid2 = H5Fopen(filename, H5F_ACC_RDWR, H5P_DEFAULT);
} H5E_END_TRY;
if(fid2 >= 0)
- TEST_ERROR
+ TEST_ERROR
/* Close file */
if(H5Fclose(fid) < 0)
@@ -4113,10 +4119,10 @@ test_file_lock_swmr_same(hid_t in_fapl)
FAIL_STACK_ERROR
H5E_BEGIN_TRY {
- fid2 = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE, fapl);
+ fid2 = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE, fapl);
} H5E_END_TRY;
if(fid2 >= 0)
- TEST_ERROR
+ TEST_ERROR
/* Close file */
if(H5Fclose(fid) < 0)
@@ -4161,10 +4167,10 @@ test_file_lock_swmr_same(hid_t in_fapl)
FAIL_STACK_ERROR
H5E_BEGIN_TRY {
- fid2 = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE, fapl);
+ fid2 = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE, fapl);
} H5E_END_TRY;
if(fid2 >= 0)
- TEST_ERROR
+ TEST_ERROR
/* Close file */
if(H5Fclose(fid) < 0)
@@ -4177,10 +4183,10 @@ test_file_lock_swmr_same(hid_t in_fapl)
FAIL_STACK_ERROR
H5E_BEGIN_TRY {
- fid2 = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_READ, fapl);
+ fid2 = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_READ, fapl);
} H5E_END_TRY;
if(fid2 >=0 )
- TEST_ERROR
+ TEST_ERROR
/* Close file */
if(H5Fclose(fid) < 0)
@@ -4196,9 +4202,9 @@ test_file_lock_swmr_same(hid_t in_fapl)
error:
H5E_BEGIN_TRY {
- H5Pclose(fapl);
- H5Fclose(fid);
- H5Fclose(fid2);
+ H5Pclose(fapl);
+ H5Fclose(fid);
+ H5Fclose(fid2);
} H5E_END_TRY;
return -1;
@@ -4213,32 +4219,33 @@ error:
** This is for concurrent access.
**
*****************************************************************/
+#if !(defined(H5_HAVE_FORK) && defined(H5_HAVE_WAITPID) && defined(H5_HAVE_FLOCK))
+
static int
-test_file_lock_concur(hid_t in_fapl)
+test_file_lock_concur(hid_t H5_ATTR_UNUSED in_fapl)
{
- hid_t fid = -1; /* File ID */
- hid_t fapl = -1; /* File access property list */
- char filename[NAME_BUF_SIZE]; /* file name */
- pid_t childpid=0; /* Child process ID */
- int child_status; /* Status passed to waitpid */
- int child_wait_option=0; /* Options passed to waitpid */
-
/* Output message about test being performed */
TESTING("File open with different combinations of flags--concurrent access");
-
-#if !(defined(H5_HAVE_FORK) && defined(H5_HAVE_WAITPID))
-
- SKIPPED();
- HDputs(" Test skipped due to fork or waitpid not defined.");
+ SKIPPED();
+ HDputs(" Test skipped due to fork, waitpid, or flock not defined.");
return 0;
-#endif
-#if !defined(H5_HAVE_FLOCK)
+} /* end test_file_lock_concur() */
- SKIPPED();
- HDputs(" Test skipped due to a lack of flock() on this system.");
- return 0;
-#endif
+#else
+
+static int
+test_file_lock_concur(hid_t in_fapl)
+{
+ hid_t fid = -1; /* File ID */
+ hid_t fapl = -1; /* File access property list */
+ char filename[NAME_BUF_SIZE]; /* file name */
+ pid_t childpid=0; /* Child process ID */
+ int child_status; /* Status passed to waitpid */
+ int child_wait_option=0; /* Options passed to waitpid */
+
+ /* Output message about test being performed */
+ TESTING("File open with different combinations of flags--concurrent access");
if((fapl = H5Pcopy(in_fapl)) < 0)
FAIL_STACK_ERROR
@@ -4266,21 +4273,21 @@ test_file_lock_concur(hid_t in_fapl)
FAIL_STACK_ERROR
if(childpid == 0) { /* Child process */
- hid_t child_fid; /* File ID */
+ hid_t child_fid; /* File ID */
- /* Wait till parent process completes the open */
- if(h5_wait_message(DONE_MESSAGE) < 0)
- exit(1);
+ /* Wait till parent process completes the open */
+ if(h5_wait_message(DONE_MESSAGE) < 0)
+ HDexit(EXIT_FAILURE);
- /* Open the test file */
- H5E_BEGIN_TRY {
- child_fid = H5Fopen(filename, H5F_ACC_RDWR, fapl);
- } H5E_END_TRY;
+ /* Open the test file */
+ H5E_BEGIN_TRY {
+ child_fid = H5Fopen(filename, H5F_ACC_RDWR, fapl);
+ } H5E_END_TRY;
- /* Should fail */
- if(child_fid == FAIL)
- exit(0);
- exit(1);
+ /* Should fail */
+ if(child_fid == FAIL)
+ HDexit(EXIT_SUCCESS);
+ HDexit(EXIT_FAILURE);
}
/* Open the test file */
@@ -4296,9 +4303,9 @@ test_file_lock_concur(hid_t in_fapl)
/* Check if child terminated normally */
if(WIFEXITED(child_status)) {
- /* Check exit status of the child */
- if(WEXITSTATUS(child_status) != 0)
- TEST_ERROR
+ /* Check exit status of the child */
+ if(WEXITSTATUS(child_status) != 0)
+ TEST_ERROR
} else
FAIL_STACK_ERROR
@@ -4317,21 +4324,21 @@ test_file_lock_concur(hid_t in_fapl)
FAIL_STACK_ERROR
if(childpid == 0) { /* Child process */
- hid_t child_fid; /* File ID */
+ hid_t child_fid; /* File ID */
- /* Wait till parent process completes the open */
- if(h5_wait_message(DONE_MESSAGE) < 0)
- exit(1);
+ /* Wait till parent process completes the open */
+ if(h5_wait_message(DONE_MESSAGE) < 0)
+ HDexit(EXIT_FAILURE);
- /* Opens the test file */
- H5E_BEGIN_TRY {
- child_fid = H5Fopen(filename, H5F_ACC_RDONLY, fapl);
- } H5E_END_TRY;
+ /* Opens the test file */
+ H5E_BEGIN_TRY {
+ child_fid = H5Fopen(filename, H5F_ACC_RDONLY, fapl);
+ } H5E_END_TRY;
- /* Should fail */
- if(child_fid == FAIL)
- exit(0);
- exit(1);
+ /* Should fail */
+ if(child_fid == FAIL)
+ HDexit(EXIT_SUCCESS);
+ HDexit(EXIT_FAILURE);
}
/* Opens the test file */
@@ -4369,22 +4376,22 @@ test_file_lock_concur(hid_t in_fapl)
FAIL_STACK_ERROR
if(childpid == 0) { /* Child process */
- hid_t child_fid; /* File ID */
+ hid_t child_fid; /* File ID */
- /* Wait till parent process completes the open */
- if(h5_wait_message(DONE_MESSAGE) < 0)
- exit(1);
+ /* Wait till parent process completes the open */
+ if(h5_wait_message(DONE_MESSAGE) < 0)
+ HDexit(EXIT_FAILURE);
- /* Opens the test file */
- H5E_BEGIN_TRY {
- child_fid = H5Fopen(filename, H5F_ACC_RDWR, fapl);
- } H5E_END_TRY;
+ /* Opens the test file */
+ H5E_BEGIN_TRY {
+ child_fid = H5Fopen(filename, H5F_ACC_RDWR, fapl);
+ } H5E_END_TRY;
- /* Should fail */
- if(child_fid == FAIL)
- exit(0);
- exit(1);
- }
+ /* Should fail */
+ if(child_fid == FAIL)
+ HDexit(EXIT_SUCCESS);
+ HDexit(EXIT_FAILURE);
+ } /* end if */
/* Opens the test file */
if((fid = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0)
@@ -4420,26 +4427,27 @@ test_file_lock_concur(hid_t in_fapl)
FAIL_STACK_ERROR
if(childpid == 0) { /* Child process */
- hid_t child_fid; /* File ID */
-
- /* Wait till parent process completes the open */
- if(h5_wait_message(DONE_MESSAGE) < 0)
- exit(1);
-
- /* Opens the test file */
- H5E_BEGIN_TRY {
- child_fid = H5Fopen(filename, H5F_ACC_RDONLY, fapl);
- } H5E_END_TRY;
-
- /* Should succeed */
- if(child_fid >= 0) {
- /* Close the file */
- if(H5Fclose(child_fid) < 0)
- FAIL_STACK_ERROR
- exit(0);
- }
- exit(1);
- }
+ hid_t child_fid; /* File ID */
+
+ /* Wait till parent process completes the open */
+ if(h5_wait_message(DONE_MESSAGE) < 0)
+ HDexit(EXIT_FAILURE);
+
+ /* Opens the test file */
+ H5E_BEGIN_TRY {
+ child_fid = H5Fopen(filename, H5F_ACC_RDONLY, fapl);
+ } H5E_END_TRY;
+
+ /* Should succeed */
+ if(child_fid >= 0) {
+ /* Close the file */
+ if(H5Fclose(child_fid) < 0)
+ FAIL_STACK_ERROR
+ HDexit(EXIT_SUCCESS);
+ } /* end if */
+
+ HDexit(EXIT_FAILURE);
+ } /* end if */
/* Create file */
if((fid = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0)
@@ -4474,14 +4482,16 @@ test_file_lock_concur(hid_t in_fapl)
error:
H5E_BEGIN_TRY {
- H5Pclose(fapl);
- H5Fclose(fid);
+ H5Pclose(fapl);
+ H5Fclose(fid);
} H5E_END_TRY;
return -1;
} /* end test_file_lock_concur() */
+#endif /* !(defined(H5_HAVE_FORK) && defined(H5_HAVE_WAITPID) && defined(H5_HAVE_FLOCK)) */
+
/****************************************************************
**
** test_file_lock_swmr_concur(): low-level file test routine.
@@ -4490,26 +4500,33 @@ error:
** This is for concurrent access.
**
*****************************************************************/
+#if !(defined(H5_HAVE_FORK) && defined(H5_HAVE_WAITPID))
+
static int
-test_file_lock_swmr_concur(hid_t in_fapl)
+test_file_lock_swmr_concur(hid_t H5_ATTR_UNUSED in_fapl)
{
- hid_t fid; /* File ID */
- hid_t fapl; /* File access property list */
- char filename[NAME_BUF_SIZE]; /* file name */
- pid_t childpid=0; /* Child process ID */
- int child_status; /* Status passed to waitpid */
- int child_wait_option=0; /* Options passed to waitpid */
-
/* Output message about test being performed */
TESTING("File open with different combintations of flags + SWMR flags--concurrent access");
-
-#if !(defined(H5_HAVE_FORK) && defined(H5_HAVE_WAITPID))
-
SKIPPED();
HDputs(" Test skipped due to fork or waitpid not defined.");
return 0;
-#endif /* !(defined(H5_HAVE_FORK && defined(H5_HAVE_WAITPID)) */
+} /* end test_file_lock_swmr_concur() */
+
+#else
+
+static int
+test_file_lock_swmr_concur(hid_t in_fapl)
+{
+ hid_t fid; /* File ID */
+ hid_t fapl; /* File access property list */
+ char filename[NAME_BUF_SIZE]; /* file name */
+ pid_t childpid=0; /* Child process ID */
+ int child_status; /* Status passed to waitpid */
+ int child_wait_option=0; /* Options passed to waitpid */
+
+ /* Output message about test being performed */
+ TESTING("File open with different combintations of flags + SWMR flags--concurrent access");
if((fapl = H5Pcopy(in_fapl)) < 0)
FAIL_STACK_ERROR
@@ -4541,21 +4558,21 @@ test_file_lock_swmr_concur(hid_t in_fapl)
FAIL_STACK_ERROR
if(childpid == 0) { /* Child process */
- hid_t child_fid; /* File ID */
+ hid_t child_fid; /* File ID */
- /* Wait till parent process completes the open */
- if(h5_wait_message(DONE_MESSAGE) < 0)
- exit(1);
+ /* Wait till parent process completes the open */
+ if(h5_wait_message(DONE_MESSAGE) < 0)
+ HDexit(EXIT_FAILURE);
- /* Open the test file */
- H5E_BEGIN_TRY {
- child_fid = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE, fapl);
- } H5E_END_TRY;
+ /* Open the test file */
+ H5E_BEGIN_TRY {
+ child_fid = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE, fapl);
+ } H5E_END_TRY;
- /* Should fail */
- if(child_fid == FAIL)
- exit(0);
- exit(1);
+ /* Should fail */
+ if(child_fid == FAIL)
+ HDexit(EXIT_SUCCESS);
+ HDexit(EXIT_FAILURE);
}
/* Open the test file */
@@ -4590,36 +4607,36 @@ test_file_lock_swmr_concur(hid_t in_fapl)
/* Fork child process */
if((childpid = HDfork()) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(childpid == 0) { /* Child process */
- hid_t child_fid; /* File ID */
+ hid_t child_fid; /* File ID */
- /* Wait till parent process completes the open */
- if(h5_wait_message(DONE_MESSAGE) < 0)
- exit(1);
+ /* Wait till parent process completes the open */
+ if(h5_wait_message(DONE_MESSAGE) < 0)
+ HDexit(EXIT_FAILURE);
- /* Open the test file */
- H5E_BEGIN_TRY {
- child_fid = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_READ, fapl);
- } H5E_END_TRY;
+ /* Open the test file */
+ H5E_BEGIN_TRY {
+ child_fid = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_READ, fapl);
+ } H5E_END_TRY;
- /* Should fail */
- if(child_fid == FAIL)
- exit(0);
- exit(1);
+ /* Should fail */
+ if(child_fid == FAIL)
+ HDexit(EXIT_SUCCESS);
+ HDexit(EXIT_FAILURE);
}
/* Open the test file */
if((fid = H5Fopen(filename, H5F_ACC_RDWR, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Send the message that the open completes */
h5_send_message(DONE_MESSAGE);
/* Wait for child process to complete */
if(HDwaitpid(childpid, &child_status, child_wait_option) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Check if child terminated normally */
if(WIFEXITED(child_status)) {
@@ -4645,21 +4662,21 @@ test_file_lock_swmr_concur(hid_t in_fapl)
FAIL_STACK_ERROR
if(childpid == 0) { /* Child process */
- hid_t child_fid; /* File ID */
+ hid_t child_fid; /* File ID */
- /* Wait till parent process completes the open */
- if(h5_wait_message(DONE_MESSAGE) < 0)
- exit(1);
+ /* Wait till parent process completes the open */
+ if(h5_wait_message(DONE_MESSAGE) < 0)
+ HDexit(EXIT_FAILURE);
- /* Open the test file */
- H5E_BEGIN_TRY {
- child_fid = H5Fopen(filename, H5F_ACC_RDWR, H5P_DEFAULT);
- } H5E_END_TRY;
+ /* Open the test file */
+ H5E_BEGIN_TRY {
+ child_fid = H5Fopen(filename, H5F_ACC_RDWR, H5P_DEFAULT);
+ } H5E_END_TRY;
- /* Should fail */
- if(child_fid == FAIL)
- exit(0);
- exit(1);
+ /* Should fail */
+ if(child_fid == FAIL)
+ HDexit(EXIT_SUCCESS);
+ HDexit(EXIT_FAILURE);
}
/* Open the test file */
@@ -4694,36 +4711,36 @@ test_file_lock_swmr_concur(hid_t in_fapl)
/* Fork child process */
if((childpid = HDfork()) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(childpid == 0) { /* Child process */
- hid_t child_fid; /* File ID */
+ hid_t child_fid; /* File ID */
- /* Wait till parent process completes the open */
- if(h5_wait_message(DONE_MESSAGE) < 0)
- exit(1);
+ /* Wait till parent process completes the open */
+ if(h5_wait_message(DONE_MESSAGE) < 0)
+ HDexit(EXIT_FAILURE);
- /* Open the test file */
- H5E_BEGIN_TRY {
- child_fid = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE, fapl);
- } H5E_END_TRY;
+ /* Open the test file */
+ H5E_BEGIN_TRY {
+ child_fid = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE, fapl);
+ } H5E_END_TRY;
- /* Should fail */
- if(child_fid == FAIL)
- exit(0);
- exit(1);
+ /* Should fail */
+ if(child_fid == FAIL)
+ HDexit(EXIT_SUCCESS);
+ HDexit(EXIT_FAILURE);
}
/* Open the test file */
if((fid = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Send the message that the open completes */
h5_send_message(DONE_MESSAGE);
/* Wait for child process to complete */
if(HDwaitpid(childpid, &child_status, child_wait_option) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Check if child terminated normally */
if(WIFEXITED(child_status)) {
@@ -4746,39 +4763,39 @@ test_file_lock_swmr_concur(hid_t in_fapl)
/* Fork child process */
if((childpid = HDfork()) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(childpid == 0) { /* Child process */
- hid_t child_fid; /* File ID */
-
- /* Wait till parent process completes the open */
- if(h5_wait_message(DONE_MESSAGE) < 0)
- exit(1);
-
- /* Open the test file */
- H5E_BEGIN_TRY {
- child_fid = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_READ, fapl);
- } H5E_END_TRY;
-
- /* Should succeed */
- if(child_fid >= 0) {
- if(H5Fclose(child_fid) < 0)
- FAIL_STACK_ERROR
- exit(0);
- }
- exit(1);
+ hid_t child_fid; /* File ID */
+
+ /* Wait till parent process completes the open */
+ if(h5_wait_message(DONE_MESSAGE) < 0)
+ HDexit(EXIT_FAILURE);
+
+ /* Open the test file */
+ H5E_BEGIN_TRY {
+ child_fid = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_READ, fapl);
+ } H5E_END_TRY;
+
+ /* Should succeed */
+ if(child_fid >= 0) {
+ if(H5Fclose(child_fid) < 0)
+ FAIL_STACK_ERROR
+ HDexit(EXIT_SUCCESS);
+ }
+ HDexit(EXIT_FAILURE);
}
/* Open the test file */
if((fid = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Send the message that the open completes */
h5_send_message(DONE_MESSAGE);
/* Wait for child process to complete */
if(HDwaitpid(childpid, &child_status, child_wait_option) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Check if child terminated normally */
if(WIFEXITED(child_status)) {
@@ -4804,21 +4821,21 @@ test_file_lock_swmr_concur(hid_t in_fapl)
FAIL_STACK_ERROR
if(childpid == 0) { /* Child process */
- hid_t child_fid; /* File ID */
+ hid_t child_fid; /* File ID */
- /* Wait till parent process completes the open */
- if(h5_wait_message(DONE_MESSAGE) < 0)
- exit(1);
+ /* Wait till parent process completes the open */
+ if(h5_wait_message(DONE_MESSAGE) < 0)
+ HDexit(EXIT_FAILURE);
- /* Open the test file */
- H5E_BEGIN_TRY {
- child_fid = H5Fopen(filename, H5F_ACC_RDONLY, H5P_DEFAULT);
+ /* Open the test file */
+ H5E_BEGIN_TRY {
+ child_fid = H5Fopen(filename, H5F_ACC_RDONLY, H5P_DEFAULT);
} H5E_END_TRY;
- /* Should fail */
- if(child_fid == FAIL)
- exit(0);
- exit(1);
+ /* Should fail */
+ if(child_fid == FAIL)
+ HDexit(EXIT_SUCCESS);
+ HDexit(EXIT_FAILURE);
}
/* Open the test file */
@@ -4856,21 +4873,21 @@ test_file_lock_swmr_concur(hid_t in_fapl)
FAIL_STACK_ERROR
if(childpid == 0) { /* Child process */
- hid_t child_fid; /* File ID */
+ hid_t child_fid; /* File ID */
- /* Wait till parent process completes the open */
- if(h5_wait_message(DONE_MESSAGE) < 0)
- exit(1);
+ /* Wait till parent process completes the open */
+ if(h5_wait_message(DONE_MESSAGE) < 0)
+ HDexit(EXIT_FAILURE);
- /* Open the test file */
- H5E_BEGIN_TRY {
- child_fid = H5Fopen(filename, H5F_ACC_RDWR, H5P_DEFAULT);
- } H5E_END_TRY;
+ /* Open the test file */
+ H5E_BEGIN_TRY {
+ child_fid = H5Fopen(filename, H5F_ACC_RDWR, H5P_DEFAULT);
+ } H5E_END_TRY;
- /* Should fail */
- if(child_fid == FAIL)
- exit(0);
- exit(1);
+ /* Should fail */
+ if(child_fid == FAIL)
+ HDexit(EXIT_SUCCESS);
+ HDexit(EXIT_FAILURE);
}
/* Open the test file */
@@ -4908,21 +4925,21 @@ test_file_lock_swmr_concur(hid_t in_fapl)
FAIL_STACK_ERROR
if(childpid == 0) { /* Child process */
- hid_t child_fid; /* File ID */
+ hid_t child_fid; /* File ID */
- /* Wait till parent process completes the open */
- if(h5_wait_message(DONE_MESSAGE) < 0)
- exit(1);
+ /* Wait till parent process completes the open */
+ if(h5_wait_message(DONE_MESSAGE) < 0)
+ HDexit(EXIT_FAILURE);
- /* Open the test file */
- H5E_BEGIN_TRY {
- child_fid = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE, fapl);
- } H5E_END_TRY;
+ /* Open the test file */
+ H5E_BEGIN_TRY {
+ child_fid = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE, fapl);
+ } H5E_END_TRY;
- /* Should fail */
- if(child_fid == FAIL)
- exit(0);
- exit(1);
+ /* Should fail */
+ if(child_fid == FAIL)
+ HDexit(EXIT_SUCCESS);
+ HDexit(EXIT_FAILURE);
}
/* Open the test file */
@@ -4960,24 +4977,24 @@ test_file_lock_swmr_concur(hid_t in_fapl)
FAIL_STACK_ERROR
if(childpid == 0) { /* Child process */
- hid_t child_fid; /* File ID */
-
- /* Wait till parent process completes the open */
- if(h5_wait_message(DONE_MESSAGE) < 0)
- exit(1);
-
- /* Open the test file */
- H5E_BEGIN_TRY {
- child_fid = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_READ, fapl);
- } H5E_END_TRY;
-
- /* Should succeed */
- if(child_fid >= 0) {
- if(H5Fclose(child_fid) < 0)
- FAIL_STACK_ERROR
- exit(0);
- }
- exit(1);
+ hid_t child_fid; /* File ID */
+
+ /* Wait till parent process completes the open */
+ if(h5_wait_message(DONE_MESSAGE) < 0)
+ HDexit(EXIT_FAILURE);
+
+ /* Open the test file */
+ H5E_BEGIN_TRY {
+ child_fid = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_READ, fapl);
+ } H5E_END_TRY;
+
+ /* Should succeed */
+ if(child_fid >= 0) {
+ if(H5Fclose(child_fid) < 0)
+ FAIL_STACK_ERROR
+ HDexit(EXIT_SUCCESS);
+ }
+ HDexit(EXIT_FAILURE);
}
/* Open the test file */
@@ -5015,35 +5032,35 @@ test_file_lock_swmr_concur(hid_t in_fapl)
FAIL_STACK_ERROR
if(childpid == 0) { /* Child process */
- hid_t child_fid; /* File ID */
-
- /* Wait till parent process completes the open */
- if(h5_wait_message(DONE_MESSAGE) < 0)
- exit(1);
-
- /* Open the test file */
- if((child_fid = H5Fopen(filename, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR
-
- /* Should succeed */
- if(child_fid >= 0) {
- if(H5Fclose(child_fid) < 0)
- FAIL_STACK_ERROR
- exit(0);
- }
- exit(1);
+ hid_t child_fid; /* File ID */
+
+ /* Wait till parent process completes the open */
+ if(h5_wait_message(DONE_MESSAGE) < 0)
+ HDexit(EXIT_FAILURE);
+
+ /* Open the test file */
+ if((child_fid = H5Fopen(filename, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0)
+ FAIL_STACK_ERROR
+
+ /* Should succeed */
+ if(child_fid >= 0) {
+ if(H5Fclose(child_fid) < 0)
+ FAIL_STACK_ERROR
+ HDexit(EXIT_SUCCESS);
+ }
+ HDexit(EXIT_FAILURE);
}
/* Open the test file */
if((fid = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_READ, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Send the message that the open completes */
h5_send_message(DONE_MESSAGE);
/* Wait for child process to complete */
if(HDwaitpid(childpid, &child_status, child_wait_option) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Check if child terminated normally */
if(WIFEXITED(child_status)) {
@@ -5069,21 +5086,21 @@ test_file_lock_swmr_concur(hid_t in_fapl)
FAIL_STACK_ERROR
if(childpid == 0) { /* Child process */
- hid_t child_fid; /* File ID */
+ hid_t child_fid; /* File ID */
- /* Wait till parent process completes the open */
- if(h5_wait_message(DONE_MESSAGE) < 0)
- exit(1);
+ /* Wait till parent process completes the open */
+ if(h5_wait_message(DONE_MESSAGE) < 0)
+ HDexit(EXIT_FAILURE);
- /* Open the test file */
- H5E_BEGIN_TRY {
- child_fid = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE, fapl);
- } H5E_END_TRY;
+ /* Open the test file */
+ H5E_BEGIN_TRY {
+ child_fid = H5Fopen(filename, H5F_ACC_RDWR|H5F_ACC_SWMR_WRITE, fapl);
+ } H5E_END_TRY;
- /* Should fail */
- if(child_fid == FAIL)
- exit(0);
- exit(1);
+ /* Should fail */
+ if(child_fid == FAIL)
+ HDexit(EXIT_SUCCESS);
+ HDexit(EXIT_FAILURE);
}
/* Open the test file */
@@ -5121,24 +5138,24 @@ test_file_lock_swmr_concur(hid_t in_fapl)
FAIL_STACK_ERROR
if(childpid == 0) { /* Child process */
- hid_t child_fid; /* File ID */
-
- /* Wait till parent process completes the open */
- if(h5_wait_message(DONE_MESSAGE) < 0)
- exit(1);
-
- /* Open the test file */
- H5E_BEGIN_TRY {
- child_fid = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_READ, fapl);
- } H5E_END_TRY;
-
- /* Should succeed */
- if(child_fid >= 0) {
- if(H5Fclose(child_fid) < 0)
- FAIL_STACK_ERROR
- exit(0);
- }
- exit(1);
+ hid_t child_fid; /* File ID */
+
+ /* Wait till parent process completes the open */
+ if(h5_wait_message(DONE_MESSAGE) < 0)
+ HDexit(EXIT_FAILURE);
+
+ /* Open the test file */
+ H5E_BEGIN_TRY {
+ child_fid = H5Fopen(filename, H5F_ACC_RDONLY|H5F_ACC_SWMR_READ, fapl);
+ } H5E_END_TRY;
+
+ /* Should succeed */
+ if(child_fid >= 0) {
+ if(H5Fclose(child_fid) < 0)
+ FAIL_STACK_ERROR
+ HDexit(EXIT_SUCCESS);
+ }
+ HDexit(EXIT_FAILURE);
}
/* Open the test file */
@@ -5166,7 +5183,7 @@ test_file_lock_swmr_concur(hid_t in_fapl)
/* Close the property list */
if(H5Pclose(fapl) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
PASSED();
@@ -5182,13 +5199,15 @@ error:
} /* end test_file_lock_swmr_concur() */
+#endif /* !(defined(H5_HAVE_FORK && defined(H5_HAVE_WAITPID)) */
+
static int
test_swmr_vfd_flag(void)
{
hid_t fid = -1; /* file ID */
hid_t sec2_fapl = -1; /* fapl ID of a VFD that supports SWMR writes (sec2) */
hid_t bad_fapl = -1; /* fapl ID of a VFD that does not support SWMR writes (stdio) */
- char filename[NAME_BUF_SIZE]; /* file name */
+ char filename[NAME_BUF_SIZE]; /* file name */
TESTING("SWMR-enabled VFD flag functionality");
@@ -5252,19 +5271,19 @@ error:
static int
test_bug_refresh(hid_t in_fapl)
{
- hid_t fid = -1; /* File ID */
+ hid_t fid = -1; /* File ID */
hid_t fapl;
H5F_t *f;
hid_t gid1, gid2, gid3, gid4, gid5, gid6, gid7, gid8, gid9;
- char filename[NAME_BUF_SIZE]; /* File name */
+ char filename[NAME_BUF_SIZE]; /* File name */
/* Create a copy of the input parameter in_fapl */
if((fapl = H5Pcopy(in_fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Set to use the latest library format */
if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Set the filename to use for this test (dependent on fapl) */
h5_fixname(FILENAME[0], fapl, filename, sizeof(filename));
@@ -5273,31 +5292,31 @@ test_bug_refresh(hid_t in_fapl)
/* Create a file with the latest format */
if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Get a pointer to the internal file object */
if(NULL == (f = (H5F_t *)H5I_object(fid)))
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/* Create groups: compact to dense storage */
if((gid1 = H5Gcreate2(fid, "group1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if((gid2 = H5Gcreate2(fid, "group2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if((gid3 = H5Gcreate2(fid, "group3", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if((gid4 = H5Gcreate2(fid, "group4", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if((gid5 = H5Gcreate2(fid, "group5", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if((gid6 = H5Gcreate2(fid, "group6", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if((gid7 = H5Gcreate2(fid, "group7", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if((gid8 = H5Gcreate2(fid, "group8", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if((gid9 = H5Gcreate2(fid, "group9", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- FAIL_STACK_ERROR;
+ FAIL_STACK_ERROR;
if (H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0)
TEST_ERROR
@@ -5343,7 +5362,7 @@ error:
return -1;
} /* test_bug_refresh() */
-#endif
+#endif /* OUT */
/****************************************************************
**
@@ -5353,8 +5372,8 @@ error:
int
main(void)
{
- int nerrors = 0; /* The # of errors */
- hid_t fapl = -1; /* File access property list ID */
+ int nerrors = 0; /* The # of errors */
+ hid_t fapl = -1; /* File access property list ID */
char *driver = NULL; /* VFD string (from env variable) */
/* Skip this test if SWMR I/O is not supported for the VFD specified
@@ -5383,8 +5402,8 @@ main(void)
/* Tests on H5Fstart_swmr_write() */
/*
* Modify the following routines to test for files:
- * H5Fcreate(write, latest format) or H5Fcreate(SWMR write, non-latest-format)
- * --both result in v3 superblock and latest version suppport
+ * H5Fcreate(write, latest format) or H5Fcreate(SWMR write, non-latest-format)
+ * --both result in v3 superblock and latest version suppport
*/
nerrors += test_start_swmr_write(fapl, TRUE);
nerrors += test_start_swmr_write(fapl, FALSE);
@@ -5405,18 +5424,18 @@ main(void)
/*
* Tests for:
* file open flags--single process access
- * file open flags--concurrent access
+ * file open flags--concurrent access
*/
nerrors += test_file_lock_same(fapl);
nerrors += test_file_lock_concur(fapl);
/*
* Tests for:
- * file open flags+SWMR flags--single process access
- * file open flags+SWMR flags--concurrent access
+ * file open flags+SWMR flags--single process access
+ * file open flags+SWMR flags--concurrent access
*
* Modify the following 2 routines to test for files:
- * H5Fcreate(write, latest format) or H5Fcreate(SWMR write, non-latest-format)
- * --both result in v3 superblock and latest version suppport
+ * H5Fcreate(write, latest format) or H5Fcreate(SWMR write, non-latest-format)
+ * --both result in v3 superblock and latest version suppport
*/
nerrors += test_file_lock_swmr_same(fapl);
nerrors += test_file_lock_swmr_concur(fapl);
@@ -5428,7 +5447,7 @@ main(void)
nerrors += test_swmr_vfd_flag();
if(nerrors)
- goto error;
+ goto error;
printf("All tests passed.\n");
@@ -5439,7 +5458,7 @@ main(void)
error:
nerrors = MAX(1, nerrors);
printf("***** %d SWMR TEST%s FAILED! *****\n",
- nerrors, 1 == nerrors ? "" : "S");
+ nerrors, 1 == nerrors ? "" : "S");
return 1;
} /* main() */