summaryrefslogtreecommitdiffstats
path: root/test/vfd_swmr_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/vfd_swmr_common.c')
-rw-r--r--test/vfd_swmr_common.c39
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.
*/