diff options
Diffstat (limited to 'test/vfd_swmr.c')
-rw-r--r-- | test/vfd_swmr.c | 112 |
1 files changed, 74 insertions, 38 deletions
diff --git a/test/vfd_swmr.c b/test/vfd_swmr.c index 2427eb1..d664957 100644 --- a/test/vfd_swmr.c +++ b/test/vfd_swmr.c @@ -1037,10 +1037,11 @@ test_reader_md_concur(void) H5O_info_t oinfo; /* Object metadata information */ char dname[100]; /* Name of dataset */ hsize_t dims[2] = {50, 20}; /* Dataset dimension sizes */ - hsize_t max_dims[2] = {H5S_UNLIMITED, H5S_UNLIMITED}; /* Dataset maximum dimension sizes */ - hsize_t chunk_dims[2] = {2, 5}; /* Dataset chunked dimension sizes */ - unsigned num_entries = 0 ; /* Number of entries in the index */ - H5FD_vfd_swmr_idx_entry_t *index = NULL; /* Pointer to the index entries */ + hsize_t max_dims[2] = /* Dataset maximum dimension sizes */ + {H5S_UNLIMITED, H5S_UNLIMITED}; + hsize_t chunk_dims[2] = {2, 5}; /* Dataset chunked dimension sizes */ + unsigned num_entries = 0 ; /* Number of entries in the index */ + H5FD_vfd_swmr_idx_entry_t *index = NULL; /* Pointer to the index entries */ hid_t fcpl = -1; /* File creation property list */ hid_t fid_writer = -1; /* File ID for writer */ @@ -1060,8 +1061,10 @@ test_reader_md_concur(void) TESTING("Verify the metadata file for VFD SWMR reader"); /* Allocate memory for the configuration structure */ - if((config_writer = (H5F_vfd_swmr_config_t *)HDmalloc(sizeof(H5F_vfd_swmr_config_t))) == NULL) + if((config_writer = (H5F_vfd_swmr_config_t *) + HDmalloc(sizeof(H5F_vfd_swmr_config_t))) == NULL) FAIL_STACK_ERROR; + HDmemset(config_writer, 0, sizeof(H5F_vfd_swmr_config_t)); /* Create a copy of the file access property list */ @@ -1073,7 +1076,7 @@ test_reader_md_concur(void) config_writer->tick_len = 1; config_writer->max_lag = 3; config_writer->vfd_swmr_writer = TRUE; - config_writer->md_pages_reserved = 2; + config_writer->md_pages_reserved = 256; HDstrcpy(config_writer->md_file_path, MD_FILENAME); /* Set the VFD SWMR configuration in fapl */ @@ -1089,8 +1092,10 @@ test_reader_md_concur(void) FAIL_STACK_ERROR /* Set file space strategy */ - if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, (hsize_t)1) < 0) + if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, + FALSE, (hsize_t)1) < 0) FAIL_STACK_ERROR; + if(H5Pset_file_space_page_size(fcpl, FS_PAGE_SIZE) < 0) FAIL_STACK_ERROR; @@ -1105,6 +1110,7 @@ test_reader_md_concur(void) /* Create 2 pipes */ if(HDpipe(parent_pfd) < 0) FAIL_STACK_ERROR + if(HDpipe(child_pfd) < 0) FAIL_STACK_ERROR @@ -1121,7 +1127,7 @@ test_reader_md_concur(void) hid_t fapl_reader = -1; /* File access property list for reader */ H5F_t *file_reader; /* File pointer for reader */ H5F_vfd_swmr_config_t *config_reader = NULL; /* VFD SWMR configuration for reader */ - unsigned child_num_entries = 0; /* Number of entries passed to reader */ + unsigned child_num_entries = 0; /* Number of entries passed to reader */ H5FD_vfd_swmr_idx_entry_t *child_index = NULL; /* Index passed to reader */ /* Close unused write end for writer pipe */ @@ -1144,8 +1150,10 @@ test_reader_md_concur(void) } /* Allocate memory for the configuration structure */ - if((config_reader = (H5F_vfd_swmr_config_t *)HDmalloc(sizeof(H5F_vfd_swmr_config_t))) == NULL) + if((config_reader = (H5F_vfd_swmr_config_t *) + HDmalloc(sizeof(H5F_vfd_swmr_config_t))) == NULL) HDexit(EXIT_FAILURE); + HDmemset(config_reader, 0, sizeof(H5F_vfd_swmr_config_t)); /* Set up the VFD SWMR configuration as reader */ @@ -1153,7 +1161,7 @@ test_reader_md_concur(void) config_reader->tick_len = 1; config_reader->max_lag = 3; config_reader->vfd_swmr_writer = FALSE; - config_reader->md_pages_reserved = 2; + config_reader->md_pages_reserved = 256; HDstrcpy(config_reader->md_file_path, MD_FILENAME); /* Create a copy of the file access property list */ @@ -1206,16 +1214,23 @@ test_reader_md_concur(void) if(child_num_entries) { /* Allocate memory for num_entries index */ - if((child_index = (H5FD_vfd_swmr_idx_entry_t *)HDcalloc(child_num_entries, sizeof(H5FD_vfd_swmr_idx_entry_t))) == NULL) + if((child_index = (H5FD_vfd_swmr_idx_entry_t *) + HDcalloc(child_num_entries, + sizeof(H5FD_vfd_swmr_idx_entry_t))) == NULL) HDexit(EXIT_FAILURE); /* Read index from writer pipe */ - if(HDread(parent_pfd[0], child_index, child_num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0) + if(HDread(parent_pfd[0], child_index, + child_num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0) + HDexit(EXIT_FAILURE); } - /* Read and verify the expected header and index info in the metadata file */ - if(H5FD__vfd_swmr_reader_md_test(file_reader->shared->lf, child_num_entries, child_index) < 0) + /* Read and verify the expected header and index info in the + * metadata file + */ + if(H5FD__vfd_swmr_reader_md_test(file_reader->shared->lf, + child_num_entries, child_index) < 0) HDexit(EXIT_FAILURE); /* Send notification 4 to parent that the verification is complete */ @@ -1244,16 +1259,22 @@ test_reader_md_concur(void) if(child_num_entries) { /* Allocate memory for num_entries index */ - if((child_index = (H5FD_vfd_swmr_idx_entry_t *)HDcalloc(child_num_entries, sizeof(H5FD_vfd_swmr_idx_entry_t))) == NULL) + if((child_index = (H5FD_vfd_swmr_idx_entry_t *) + HDcalloc(child_num_entries, + sizeof(H5FD_vfd_swmr_idx_entry_t))) == NULL) HDexit(EXIT_FAILURE); /* Read index from writer pipe */ - if(HDread(parent_pfd[0], child_index, child_num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0) + if(HDread(parent_pfd[0], child_index, + child_num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0) HDexit(EXIT_FAILURE); } - /* Read and verify the expected header and index info in the metadata file */ - if(H5FD__vfd_swmr_reader_md_test(file_reader->shared->lf, child_num_entries, child_index) < 0) + /* Read and verify the expected header and index info in the + * metadata file + */ + if(H5FD__vfd_swmr_reader_md_test(file_reader->shared->lf, + child_num_entries, child_index) < 0) HDexit(EXIT_FAILURE); /* Send notification 6 to parent that the verification is complete */ @@ -1268,9 +1289,12 @@ test_reader_md_concur(void) /* Wait for notification 7 from parent to start verification */ while(child_notify != 7) { + if(HDread(parent_pfd[0], &child_notify, sizeof(int)) < 0) + HDexit(EXIT_FAILURE); } + /* Read num_entries from writer pipe */ if(HDread(parent_pfd[0], &child_num_entries, sizeof(int)) < 0) HDexit(EXIT_FAILURE); @@ -1281,16 +1305,22 @@ test_reader_md_concur(void) if(child_num_entries) { /* Allocate memory for num_entries index */ - if((child_index = (H5FD_vfd_swmr_idx_entry_t *)HDcalloc(child_num_entries, sizeof(H5FD_vfd_swmr_idx_entry_t))) == NULL) + if((child_index = (H5FD_vfd_swmr_idx_entry_t *) + HDcalloc(child_num_entries, + sizeof(H5FD_vfd_swmr_idx_entry_t))) == NULL) HDexit(EXIT_FAILURE); /* Read index from writer pipe */ - if(HDread(parent_pfd[0], child_index, child_num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0) + if(HDread(parent_pfd[0], child_index, + child_num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0) HDexit(EXIT_FAILURE); } - /* Read and verify the expected header and index info in the metadata file */ - if(H5FD__vfd_swmr_reader_md_test(file_reader->shared->lf, child_num_entries, child_index) < 0) + /* Read and verify the expected header and index info in the + * metadata file + */ + if(H5FD__vfd_swmr_reader_md_test(file_reader->shared->lf, + child_num_entries, child_index) < 0) HDexit(EXIT_FAILURE); /* Send notification 8 to parent that the verification is complete */ @@ -1390,7 +1420,8 @@ test_reader_md_concur(void) /* Create a chunked dataset */ sprintf(dname, "dset %d", i); - if((did = H5Dcreate2(fid_writer, dname, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if((did = H5Dcreate2(fid_writer, dname, H5T_NATIVE_INT, sid, + H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) FAIL_STACK_ERROR /* Get dataset object header address */ @@ -1405,11 +1436,13 @@ test_reader_md_concur(void) num_entries = 12; /* Allocate num_entries for the data buffer */ - if((buf = (uint8_t *)HDmalloc((num_entries * FS_PAGE_SIZE * sizeof(uint8_t)))) == NULL) + if((buf = (uint8_t *)HDmalloc((num_entries * FS_PAGE_SIZE * + sizeof(uint8_t)))) == NULL) FAIL_STACK_ERROR; /* Allocate memory for num_entries index */ - if(NULL == (index = (H5FD_vfd_swmr_idx_entry_t *)HDcalloc(num_entries, sizeof(H5FD_vfd_swmr_idx_entry_t)))) + if(NULL == (index = (H5FD_vfd_swmr_idx_entry_t *) + HDcalloc(num_entries, sizeof(H5FD_vfd_swmr_idx_entry_t)))) FAIL_STACK_ERROR; /* Construct index for updating the metadata file */ @@ -1437,7 +1470,8 @@ test_reader_md_concur(void) FAIL_STACK_ERROR; /* Send index to the reader */ - if(HDwrite(parent_pfd[1], index, num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0) + if(HDwrite(parent_pfd[1], index, + num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0) FAIL_STACK_ERROR; /* @@ -1467,7 +1501,8 @@ test_reader_md_concur(void) FAIL_STACK_ERROR /* Write to the dataset */ - if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rwbuf) < 0) + if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, rwbuf) < 0) FAIL_STACK_ERROR /* Close the dataset */ @@ -1494,7 +1529,8 @@ test_reader_md_concur(void) FAIL_STACK_ERROR; /* Send index to the reader */ - if(HDwrite(parent_pfd[1], index, num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0) + if(HDwrite(parent_pfd[1], index, + num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0) FAIL_STACK_ERROR; /* @@ -1518,7 +1554,8 @@ test_reader_md_concur(void) FAIL_STACK_ERROR /* Read from the dataset */ - if(H5Dread(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rwbuf) < 0) + if(H5Dread(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, rwbuf) < 0) FAIL_STACK_ERROR /* Close the dataset */ @@ -1545,7 +1582,8 @@ test_reader_md_concur(void) FAIL_STACK_ERROR; /* Send index to the reader */ - if(HDwrite(parent_pfd[1], index, num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0) + if(HDwrite(parent_pfd[1], index, + num_entries * sizeof(H5FD_vfd_swmr_idx_entry_t)) < 0) FAIL_STACK_ERROR; /* @@ -1568,7 +1606,8 @@ test_reader_md_concur(void) FAIL_STACK_ERROR /* Write to the dataset */ - if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rwbuf) < 0) + if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, rwbuf) < 0) FAIL_STACK_ERROR /* Close the dataset */ @@ -1664,7 +1703,8 @@ error: int main(void) { - hid_t fapl = -1; /* File access property list for data files */ + hid_t fapl = -1; /* File access property list for */ + /* data files */ unsigned nerrors = 0; /* Cumulative error count */ char *lock_env_var = NULL; /* File locking env var pointer */ const char *env_h5_drvr = NULL; /* File Driver value from environment */ @@ -1711,13 +1751,9 @@ main(void) nerrors += test_file_fapl(); nerrors += test_file_end_tick(); - nerrors += test_writer_create_open_flush(); - nerrors += test_writer_md(); - -#ifdef LATER /* Will activate the test when reader EOT is implemented */ - nerrors += test_reader_md_concur()flush ; -#endif + nerrors += test_writer_md(); + nerrors += test_reader_md_concur(); } /* end if */ |