diff options
author | Dana Robinson <derobins@hdfgroup.org> | 2015-12-05 13:18:00 (GMT) |
---|---|---|
committer | Dana Robinson <derobins@hdfgroup.org> | 2015-12-05 13:18:00 (GMT) |
commit | ee0ecca9d85c08fd59f93b15ad4b37be33e43a90 (patch) | |
tree | 816a09c70b0888cec92d0c5ccb6194feede770a6 /test | |
parent | 3b46a9055e48d4d6cfb7a371399aa84cc4ea5511 (diff) | |
download | hdf5-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.txt | 2 | ||||
-rw-r--r-- | test/swmr.c | 2829 |
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() */ |