summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2016-12-30 16:37:58 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2016-12-30 16:37:58 (GMT)
commit3908d10f93b250fbfcf6ed1baedf6e4b75b43145 (patch)
tree7007aea75f703dd6031cd2ee35a884afa18cd8fb
parent8215920678c09238ecc86d9eecc03a634f96d2d0 (diff)
parente41a15b7f07dc39b7d68f4635965d0b8b440d299 (diff)
downloadhdf5-3908d10f93b250fbfcf6ed1baedf6e4b75b43145.zip
hdf5-3908d10f93b250fbfcf6ed1baedf6e4b75b43145.tar.gz
hdf5-3908d10f93b250fbfcf6ed1baedf6e4b75b43145.tar.bz2
Merge pull request #226 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:flush_vfd_fix to develop
Added a missing "vfd check" test file for use in scripts (should have been brought from revise_chunks). * commit 'e41a15b7f07dc39b7d68f4635965d0b8b440d299': Added a missing test file needed for the flushrefresh script.
-rw-r--r--MANIFEST1
-rw-r--r--test/CMakeLists.txt8
-rw-r--r--test/Makefile.am3
-rw-r--r--test/swmr_check_compat_vfd.c56
4 files changed, 67 insertions, 1 deletions
diff --git a/MANIFEST b/MANIFEST
index 0c0c4fd..db2b0e8 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -999,6 +999,7 @@
./test/specmetaread.h5
./test/stab.c
./test/swmr.c
+./test/swmr_check_compat_vfd.c
./test/tarray.c
./test/tarrold.h5
./test/tattr.c
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 35884d0..8891af7 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -255,6 +255,14 @@ foreach (test ${H5_TESTS})
ADD_H5_EXE(${test})
endforeach (test ${H5_TESTS})
+set (H5_SWMR_TESTS
+ swmr_check_compat_vfd
+)
+
+foreach (test ${H5_SWMR_TESTS})
+ ADD_H5_EXE(${test})
+endforeach (test ${H5_SWMR_TESTS})
+
##############################################################################
##############################################################################
### A D D I T I O N A L T E S T S ###
diff --git a/test/Makefile.am b/test/Makefile.am
index da89b22..37883c4 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -64,7 +64,8 @@ TEST_PROG= testhdf5 cache cache_api cache_tagging lheap ohdr stab gheap \
# and this lets automake keep all its test programs in one place.
check_PROGRAMS=$(TEST_PROG) error_test err_compat tcheck_version \
testmeta accum_swmr_reader \
- links_env flushrefresh
+ links_env flushrefresh \
+ swmr_check_compat_vfd
if HAVE_SHARED_CONDITIONAL
check_PROGRAMS+= plugin
endif
diff --git a/test/swmr_check_compat_vfd.c b/test/swmr_check_compat_vfd.c
new file mode 100644
index 0000000..d1134ee
--- /dev/null
+++ b/test/swmr_check_compat_vfd.c
@@ -0,0 +1,56 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group. *
+ * Copyright by the Board of Trustees of the University of Illinois. *
+ * All rights reserved. *
+ * *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the files COPYING and Copyright.html. COPYING can be found at the root *
+ * of the source code distribution tree; Copyright.html can be found at the *
+ * root level of an installed copy of the electronic HDF5 document set and *
+ * is linked from the top-level documents page. It can also be found at *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
+ * access to either file, you may request a copy from help@hdfgroup.org. *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/* Purpose: This is a small program that checks if the HDF5_DRIVER
+ * environment variable is set to a value that supports SWMR.
+ *
+ * It is intended for use in shell scripts.
+ */
+#include "h5test.h"
+
+/* This file needs to access the file driver testing code */
+#define H5FD_FRIEND /*suppress error about including H5FDpkg */
+#define H5FD_TESTING
+#include "H5FDpkg.h" /* File drivers */
+
+
+/*-------------------------------------------------------------------------
+ * Function: main
+ *
+ * Purpose: Inspects the HDF5_DRIVER environment variable, which
+ * determines the VFD that the test harness will use with
+ * the majority of the tests.
+ *
+ * Return: VFD supports SWMR: EXIT_SUCCESS
+ *
+ * VFD does not support SWMR
+ * or failure: EXIT_FAILURE
+ *
+ *-------------------------------------------------------------------------
+ */
+int
+main(void)
+{
+ char *driver = NULL;
+
+ driver = HDgetenv("HDF5_DRIVER");
+
+ if(H5FD_supports_swmr_test(driver))
+ return EXIT_SUCCESS;
+ else
+ return EXIT_FAILURE;
+
+} /* end main() */
+