diff options
Diffstat (limited to 'test/vfd_swmr_common.c')
-rw-r--r-- | test/vfd_swmr_common.c | 39 |
1 files changed, 31 insertions, 8 deletions
diff --git a/test/vfd_swmr_common.c b/test/vfd_swmr_common.c index f57f39a..9b711dd 100644 --- a/test/vfd_swmr_common.c +++ b/test/vfd_swmr_common.c @@ -344,11 +344,14 @@ await_signal(hid_t fid) #endif /* H5_HAVE_WIN32_API */ /* Revised support routines that can be used for all VFD SWMR integration tests + * NOTE: For tests that call this common routine, md_file_path needs to be set + * regardless of whether maintain_metadata_file is true or false. */ -/* Initialize fields in config with the input parameters */ void init_vfd_swmr_config(H5F_vfd_swmr_config_t *config, uint32_t tick_len, uint32_t max_lag, hbool_t writer, - hbool_t flush_raw_data, uint32_t md_pages_reserved, const char *md_file_fmtstr, ...) + hbool_t maintain_metadata_file, hbool_t generate_updater_files, hbool_t flush_raw_data, + uint32_t md_pages_reserved, const char *md_file_fmtstr, const char *updater_file_path, + ...) { va_list ap; @@ -357,18 +360,38 @@ init_vfd_swmr_config(H5F_vfd_swmr_config_t *config, uint32_t tick_len, uint32_t config->version = H5F__CURR_VFD_SWMR_CONFIG_VERSION; config->pb_expansion_threshold = 0; - config->tick_len = tick_len; - config->max_lag = max_lag; - config->writer = writer; - config->flush_raw_data = flush_raw_data; - config->md_pages_reserved = md_pages_reserved; + config->tick_len = tick_len; + config->max_lag = max_lag; + config->writer = writer; + config->maintain_metadata_file = maintain_metadata_file; + config->generate_updater_files = generate_updater_files; + config->flush_raw_data = flush_raw_data; + config->md_pages_reserved = md_pages_reserved; + + HDva_start(ap, updater_file_path); - HDva_start(ap, md_file_fmtstr); evsnprintf(config->md_file_path, sizeof(config->md_file_path), md_file_fmtstr, ap); + HDva_end(ap); + if (config->generate_updater_files && updater_file_path != NULL) + HDstrcpy(config->updater_file_path, updater_file_path); + } /* init_vfd_swmr_config() */ +/* Initialize the log file path in config, this function should be called after init_vfd_swmr_config. */ +void +init_vfd_swmr_log(H5F_vfd_swmr_config_t *config, const char *log_file_fmtstr, ...) + +{ + va_list ap; + + HDva_start(ap, log_file_fmtstr); + evsnprintf(config->log_file_path, sizeof(config->log_file_path), log_file_fmtstr, ap); + HDva_end(ap); + +} /* init_vfd_swmr_log() */ + /* Perform common VFD SWMR configuration on the file-access property list: * configure page buffering, set reasonable VFD SWMR defaults. */ |