summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2018-11-29 01:07:30 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2018-11-29 01:07:30 (GMT)
commitd442fe2d9815a83f5010cca9a878974e286c27f9 (patch)
treece32b6875ad90d309f81844eaeb20c4a4860025c
parent6eabeabdaa77642fd4db5fd234ccc756a24125be (diff)
downloadhdf5-d442fe2d9815a83f5010cca9a878974e286c27f9.zip
hdf5-d442fe2d9815a83f5010cca9a878974e286c27f9.tar.gz
hdf5-d442fe2d9815a83f5010cca9a878974e286c27f9.tar.bz2
Add support for "make check-vol", along with a few minor cleanups, etc.
-rw-r--r--Makefile.am9
-rwxr-xr-xbin/makehelp1
-rwxr-xr-xbin/snapshot6
-rw-r--r--c++/test/tlinks.cpp5
-rw-r--r--config/commence.am3
-rw-r--r--config/conclude.am12
-rw-r--r--src/H5VLpassthru.c2
-rw-r--r--test/Makefile.am3
-rw-r--r--test/freespace.c6
-rw-r--r--test/h5test.c13
-rw-r--r--test/links_env.c5
11 files changed, 45 insertions, 20 deletions
diff --git a/Makefile.am b/Makefile.am
index e3e5e3d..d58b1b4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -186,6 +186,15 @@ check-vfd:
fi; \
done
+# Run tests with different Virtual Object Layer Connectors.
+# Currently, only invoke check-vol in the test directory.
+check-vol:
+ for d in src test; do \
+ if test $$d != .; then \
+ (cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
+ fi; \
+ done
+
# Automake wants to make config.status depend on configure. This
# makes sense, but config.status can't always be regenerated
# properly, which can cause builds to fail.
diff --git a/bin/makehelp b/bin/makehelp
index d6fbda2..4707397 100755
--- a/bin/makehelp
+++ b/bin/makehelp
@@ -40,6 +40,7 @@ make distclean: remove all files generated by make, make check, or
make check-p: Only run parallel tests
make check-s: Only run serial tests
make check-vfd: Run tests with each virtual file driver
+make check-vol: Run tests with each virtual object layer connector
HDF5 uses Automake, so any standard Automake targets not listed here
should also work.
diff --git a/bin/snapshot b/bin/snapshot
index 5c78fc8..5900728 100755
--- a/bin/snapshot
+++ b/bin/snapshot
@@ -132,6 +132,7 @@ DISPLAYUSAGE()
Usage: $PROGNAME [all] [checkout] [ftp <URL> [diff] [test] [srcdir] [release] [help]
[clean] [distclean] [echo] [deploy <dir>] [deploydir <dir>]
[zlib <zlib_path>] [releasedir <dir>] [srcdirname <dir>] [check-vfd]
+ [check-vol]
[exec <command>] [module-load <module-list>] [op-configure <option>]
[--<option>]
all: Run all commands (checkout, test & release)
@@ -169,6 +170,8 @@ Usage: $PROGNAME [all] [checkout] [ftp <URL> [diff] [test] [srcdir] [release] [h
[Default is $ReleaseDir_default]
check-vfd:
Run make check-vfd instead of just make check.
+ check-vol:
+ Run make check-vol instead of just make check.
exttest <testscript>;
Run testscript;
exec <command>:
@@ -422,6 +425,9 @@ while [ $# -gt 0 ] ; do
check-vfd)
CHECKVAL=check-vfd
;;
+ check-vol)
+ CHECKVAL=check-vol
+ ;;
module-load)
shift
if [ $# -lt 1 ]; then
diff --git a/c++/test/tlinks.cpp b/c++/test/tlinks.cpp
index f8d7089..6e990c9 100644
--- a/c++/test/tlinks.cpp
+++ b/c++/test/tlinks.cpp
@@ -857,11 +857,6 @@ void test_links()
{
hid_t fapl_id, fapl2_id; /* File access property lists */
unsigned new_format; /* Whether to use the new format or not */
- const char *envval;
-
- envval = HDgetenv("HDF5_DRIVER");
- if(envval == NULL)
- envval = "nomatch";
fapl_id = h5_fileaccess();
diff --git a/config/commence.am b/config/commence.am
index 5fe21a6..5d88a88 100644
--- a/config/commence.am
+++ b/config/commence.am
@@ -97,7 +97,8 @@ CHECK_CLEANFILES=*.chkexe *.chklog *.clog *.clog2
# exists.
.PHONY: build-check-clean build-check-p build-check-s build-lib build-progs \
build-tests check-clean check-install check-p check-s check-vfd \
- install-doc lib progs tests uninstall-doc _exec_check-s _test help
+ check-vol install-doc lib progs tests uninstall-doc _exec_check-s \
+ _test help
help:
@$(top_srcdir)/bin/makehelp
diff --git a/config/conclude.am b/config/conclude.am
index 4bdbb0b..baca60d 100644
--- a/config/conclude.am
+++ b/config/conclude.am
@@ -266,3 +266,15 @@ check-vfd: $(LIB) $(PROGS) $(chk_TESTS)
HDF5_DRIVER=$$vfd $(MAKE) $(AM_MAKEFLAGS) check || exit 1; \
fi; \
done
+
+# Run test with different Virtual Object Layer Connector
+check-vol: $(LIB) $(PROGS) $(chk_TESTS)
+ @for vol in $(VOL_LIST) dummy; do \
+ if test $$vol != dummy; then \
+ echo "============================"; \
+ echo "Testing VOL Connector $$vol"; \
+ echo "============================"; \
+ $(MAKE) $(AM_MAKEFLAGS) check-clean || exit 1; \
+ HDF5_VOL_CONNECTOR=$$vol $(MAKE) $(AM_MAKEFLAGS) check || exit 1; \
+ fi; \
+ done
diff --git a/src/H5VLpassthru.c b/src/H5VLpassthru.c
index f8568de..4c7e64a 100644
--- a/src/H5VLpassthru.c
+++ b/src/H5VLpassthru.c
@@ -462,7 +462,7 @@ H5VL_pass_through_info_to_str(const void *_info, char **str)
assert(*str);
/* Encode our info */
- snprintf(*str, 32 + under_vol_str_len, "under_val=%u;under_info={%s}", (unsigned)under_value, (under_vol_string ? under_vol_string : ""));
+ snprintf(*str, 32 + under_vol_str_len, "under_vol=%u;under_info={%s}", (unsigned)under_value, (under_vol_string ? under_vol_string : ""));
return(0);
} /* end H5VL_pass_through_info_to_str() */
diff --git a/test/Makefile.am b/test/Makefile.am
index 61dcda8..d950297 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -144,6 +144,9 @@ if DIRECT_VFD_CONDITIONAL
VFD_LIST += direct
endif
+VOL_LIST = native "pass_through under_vol=0;under_info={}" \
+ "pass_through under_vol=505;under_info={under_vol=0;under_info={}}"
+
# Additional target for running timing test
timings _timings: testmeta
@for timing in $(TIMINGS) dummy; do \
diff --git a/test/freespace.c b/test/freespace.c
index 0011bd2..947b2ce 100644
--- a/test/freespace.c
+++ b/test/freespace.c
@@ -2862,14 +2862,8 @@ main(void)
{
hid_t fapl = -1; /* File access property list for data files */
unsigned nerrors = 0; /* Cumulative error count */
- const char *env_h5_drvr = NULL; /* File Driver value from environment */
hbool_t api_ctx_pushed = FALSE; /* Whether API context pushed */
- /* Get the VFD to use */
- env_h5_drvr = HDgetenv("HDF5_DRIVER");
- if(env_h5_drvr == NULL)
- env_h5_drvr = "nomatch";
-
h5_reset();
if((fapl = h5_fileaccess()) < 0) {
diff --git a/test/h5test.c b/test/h5test.c
index 0453162..f3d1ffc 100644
--- a/test/h5test.c
+++ b/test/h5test.c
@@ -42,7 +42,16 @@
* use for HDF5 file access. The first word in the
* value is the name of the driver and subsequent data
* is interpreted according to the driver. See
- * h5_fileaccess() for details.
+ * h5_get_vfd_fapl() for details.
+ *
+ * HDF5_VOL_CONNECTOR: This string describes what VOL connector to
+ * use for HDF5 file access. The first word in the
+ * value is the name of the connector and subsequent data
+ * is interpreted according to the driver. See
+ * h5_get_vol_fapl() for details.
+ *
+ * HDF5_LIBVER_BOUNDS: This string describes what library version bounds to
+ * use for HDF5 file access. See h5_get_libver_fapl() for details.
*
* HDF5_PREFIX: A string to add to the beginning of all serial test
* file names. This can be used to run tests in a
@@ -1021,7 +1030,7 @@ done:
error:
return -1;
-} /* end h5_get_vfd_fapl() */
+} /* end h5_get_libver_fapl() */
/*-------------------------------------------------------------------------
diff --git a/test/links_env.c b/test/links_env.c
index b32fb32..0cd690a 100644
--- a/test/links_env.c
+++ b/test/links_env.c
@@ -148,11 +148,6 @@ main(void)
{
hid_t fapl; /* File access property lists */
int nerrors = 0; /* Error from tests */
- const char *env_h5_drvr; /* File Driver value from environment */
-
- env_h5_drvr = HDgetenv("HDF5_DRIVER");
- if(env_h5_drvr == NULL)
- env_h5_drvr = "nomatch";
h5_reset();
fapl = h5_fileaccess();