diff options
author | Quincey Koziol <koziol@lbl.gov> | 2021-06-28 16:33:37 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@lbl.gov> | 2021-06-28 16:33:37 (GMT) |
commit | 851be6f4ec7e7022357a476f30d36757a4579662 (patch) | |
tree | 08002680d2057f9ed3dba9bc2528c3b8bea06219 /tools | |
parent | 6dd051101d94b14ff21469b8045c4c26e2a446bd (diff) | |
download | hdf5-851be6f4ec7e7022357a476f30d36757a4579662.zip hdf5-851be6f4ec7e7022357a476f30d36757a4579662.tar.gz hdf5-851be6f4ec7e7022357a476f30d36757a4579662.tar.bz2 |
Most changes for fixing post open issues
Diffstat (limited to 'tools')
-rw-r--r-- | tools/test/h5diff/testh5diff.sh.in | 282 | ||||
-rw-r--r-- | tools/test/h5dump/testh5dumpvds.sh.in | 73 | ||||
-rw-r--r-- | tools/test/h5ls/testh5ls.sh.in | 63 | ||||
-rw-r--r-- | tools/test/h5ls/testh5lsvds.sh.in | 45 | ||||
-rw-r--r-- | tools/test/h5repack/h5repack.sh.in | 64 |
5 files changed, 453 insertions, 74 deletions
diff --git a/tools/test/h5diff/testh5diff.sh.in b/tools/test/h5diff/testh5diff.sh.in index bd27dd0..f727c7a 100644 --- a/tools/test/h5diff/testh5diff.sh.in +++ b/tools/test/h5diff/testh5diff.sh.in @@ -35,6 +35,8 @@ EXIT_FAILURE=1 H5DIFF=../../src/h5diff/h5diff # The tool name H5DIFF_BIN=`pwd`/$H5DIFF # The path of the tool binary +VDS_CHECK_COMPAT_VOL=../../../utils/vds_check_compat_vol # The vds_check_compat_vol tool name +VDS_CHECK_COMPAT_VOL_BIN=`pwd`/$VDS_CHECK_COMPAT_VOL # The path of the vds_check_compat_vol tool binary RM='rm -rf' CMP='cmp -s' @@ -595,6 +597,13 @@ COPY_TESTFILES_TO_TESTDIR # second copy of tvlstr.h5 $CP -f $SRC_TOOLS_TESTFILES/tvlstr.h5 $TESTDIR/tvlstr2.h5 +# Check to see if the VOL connector specified by the HDF5_VOL_CONNECTOR +# environment variable supports virtual datasets (and external links) +# +# Note: Depends on vds_check_compat_vol tool from $(topdir)/utils +$VDS_CHECK_COMPAT_VOL_BIN +COMPAT_VOL=$? + # ############################################################################ # # Common usage # ############################################################################ @@ -966,22 +975,70 @@ TOOLTEST h5diff_402.txt --follow-symlinks -v h5diff_softlinks.h5 h5diff_softlink TOOLTEST h5diff_403.txt --follow-symlinks -v h5diff_softlinks.h5 h5diff_softlinks.h5 /softlink_dset1_1 /softlink_dset2 # extlink vs extlink (FILE)" -TOOLTEST h5diff_404.txt --follow-symlinks -v h5diff_extlink_src.h5 h5diff_extlink_src.h5 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_404.txt --follow-symlinks -v h5diff_extlink_src.h5 h5diff_extlink_src.h5" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # extlink vs dset" -TOOLTEST h5diff_405.txt --follow-symlinks -v h5diff_extlink_src.h5 h5diff_extlink_trg.h5 /ext_link_dset1 /target_group2/x_dset +# Note: Requires VOL connector that supports external links +ARGS="h5diff_405.txt --follow-symlinks -v h5diff_extlink_src.h5 h5diff_extlink_trg.h5 /ext_link_dset1 /target_group2/x_dset" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # dset vs extlink" -TOOLTEST h5diff_406.txt --follow-symlinks -v h5diff_extlink_trg.h5 h5diff_extlink_src.h5 /target_group2/x_dset /ext_link_dset1 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_406.txt --follow-symlinks -v h5diff_extlink_trg.h5 h5diff_extlink_src.h5 /target_group2/x_dset /ext_link_dset1" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # extlink vs extlink" -TOOLTEST h5diff_407.txt --follow-symlinks -v h5diff_extlink_src.h5 h5diff_extlink_src.h5 /ext_link_dset1 /ext_link_dset2 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_407.txt --follow-symlinks -v h5diff_extlink_src.h5 h5diff_extlink_src.h5 /ext_link_dset1 /ext_link_dset2" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # softlink vs extlink" -TOOLTEST h5diff_408.txt --follow-symlinks -v h5diff_softlinks.h5 h5diff_extlink_src.h5 /softlink_dset1_1 /ext_link_dset2 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_408.txt --follow-symlinks -v h5diff_softlinks.h5 h5diff_extlink_src.h5 /softlink_dset1_1 /ext_link_dset2" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # extlink vs softlink " -TOOLTEST h5diff_409.txt --follow-symlinks -v h5diff_extlink_src.h5 h5diff_softlinks.h5 /ext_link_dset2 /softlink_dset1_1 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_409.txt --follow-symlinks -v h5diff_extlink_src.h5 h5diff_softlinks.h5 /ext_link_dset2 /softlink_dset1_1" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # linked_softlink vs linked_softlink (FILE)" TOOLTEST h5diff_410.txt --follow-symlinks -v h5diff_linked_softlink.h5 h5diff_linked_softlink.h5 @@ -1011,31 +1068,95 @@ TOOLTEST h5diff_417.txt --follow-symlinks -v h5diff_softlinks.h5 h5diff_softlink TOOLTEST h5diff_418.txt --follow-symlinks -v h5diff_softlinks.h5 h5diff_softlinks.h5 /softlink_dset2 /softlink_noexist # non-exist-extlink_file vs extlink" -TOOLTEST h5diff_419.txt --follow-symlinks -v h5diff_extlink_src.h5 h5diff_extlink_src.h5 /ext_link_noexist2 /ext_link_dset2 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_419.txt --follow-symlinks -v h5diff_extlink_src.h5 h5diff_extlink_src.h5 /ext_link_noexist2 /ext_link_dset2" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # exlink vs non-exist-extlink_file" -TOOLTEST h5diff_420.txt --follow-symlinks -v h5diff_extlink_src.h5 h5diff_extlink_src.h5 /ext_link_dset2 /ext_link_noexist2 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_420.txt --follow-symlinks -v h5diff_extlink_src.h5 h5diff_extlink_src.h5 /ext_link_dset2 /ext_link_noexist2" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # extlink vs non-exist-extlink_obj" -TOOLTEST h5diff_421.txt --follow-symlinks -v h5diff_extlink_src.h5 h5diff_extlink_src.h5 /ext_link_dset2 /ext_link_noexist1 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_421.txt --follow-symlinks -v h5diff_extlink_src.h5 h5diff_extlink_src.h5 /ext_link_dset2 /ext_link_noexist1" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # non-exist-extlink_obj vs extlink" -TOOLTEST h5diff_422.txt --follow-symlinks -v h5diff_extlink_src.h5 h5diff_extlink_src.h5 /ext_link_noexist1 /ext_link_dset2 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_422.txt --follow-symlinks -v h5diff_extlink_src.h5 h5diff_extlink_src.h5 /ext_link_noexist1 /ext_link_dset2" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # extlink_to_softlink_to_dset1 vs dset2" -TOOLTEST h5diff_423.txt --follow-symlinks -v h5diff_ext2softlink_src.h5 h5diff_ext2softlink_trg.h5 /ext_link_to_slink1 /dset2 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_423.txt --follow-symlinks -v h5diff_ext2softlink_src.h5 h5diff_ext2softlink_trg.h5 /ext_link_to_slink1 /dset2" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # dset2 vs extlink_to_softlink_to_dset1" -TOOLTEST h5diff_424.txt --follow-symlinks -v h5diff_ext2softlink_trg.h5 h5diff_ext2softlink_src.h5 /dset2 /ext_link_to_slink1 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_424.txt --follow-symlinks -v h5diff_ext2softlink_trg.h5 h5diff_ext2softlink_src.h5 /dset2 /ext_link_to_slink1" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # extlink_to_softlink_to_dset1 vs extlink_to_softlink_to_dset2" -TOOLTEST h5diff_425.txt --follow-symlinks -v h5diff_ext2softlink_src.h5 h5diff_ext2softlink_src.h5 /ext_link_to_slink1 /ext_link_to_slink2 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_425.txt --follow-symlinks -v h5diff_ext2softlink_src.h5 h5diff_ext2softlink_src.h5 /ext_link_to_slink1 /ext_link_to_slink2" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # ############################################################################## # # Dangling links compare (--follow-symlinks and --no-dangling-links) # ############################################################################## # dangling links --follow-symlinks (FILE to FILE) -TOOLTEST h5diff_450.txt --follow-symlinks -v h5diff_danglelinks1.h5 h5diff_danglelinks2.h5 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_450.txt --follow-symlinks -v h5diff_danglelinks1.h5 h5diff_danglelinks2.h5" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # dangling links --follow-symlinks and --no-dangling-links (FILE to FILE) TOOLTEST h5diff_451.txt --follow-symlinks -v --no-dangling-links h5diff_danglelinks1.h5 h5diff_danglelinks2.h5 @@ -1053,13 +1174,37 @@ TOOLTEST h5diff_454.txt --follow-symlinks -v --no-dangling-links h5diff_softli TOOLTEST h5diff_455.txt --follow-symlinks -v --no-dangling-links h5diff_softlinks.h5 h5diff_softlinks.h5 /softlink_noexist /softlink_noexist # dangling link found for ext links (FILE to FILE) -TOOLTEST h5diff_456.txt --follow-symlinks -v --no-dangling-links h5diff_extlink_src.h5 h5diff_extlink_src.h5 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_456.txt --follow-symlinks -v --no-dangling-links h5diff_extlink_src.h5 h5diff_extlink_src.h5" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # dangling link found for ext links (obj to obj). target file exist -TOOLTEST h5diff_457.txt --follow-symlinks -v --no-dangling-links h5diff_extlink_src.h5 h5diff_extlink_src.h5 /ext_link_dset1 /ext_link_noexist1 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_457.txt --follow-symlinks -v --no-dangling-links h5diff_extlink_src.h5 h5diff_extlink_src.h5 /ext_link_dset1 /ext_link_noexist1" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # dangling link found for ext links (obj to obj). target file NOT exist -TOOLTEST h5diff_458.txt --follow-symlinks -v --no-dangling-links h5diff_extlink_src.h5 h5diff_extlink_src.h5 /ext_link_dset1 /ext_link_noexist2 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_458.txt --follow-symlinks -v --no-dangling-links h5diff_extlink_src.h5 h5diff_extlink_src.h5 /ext_link_dset1 /ext_link_noexist2" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # dangling link found for ext links (obj to obj). Both dangle links TOOLTEST h5diff_459.txt --follow-symlinks -v --no-dangling-links h5diff_extlink_src.h5 h5diff_extlink_src.h5 /ext_link_noexist1 /ext_link_noexist2 @@ -1075,7 +1220,15 @@ TOOLTEST h5diff_467.txt -v --follow-symlinks h5diff_danglelinks1.h5 h5diff_dangl # ext dangling vs. ext dangling TOOLTEST h5diff_468.txt -v --follow-symlinks h5diff_danglelinks1.h5 h5diff_danglelinks2.h5 /ext_link4 # ext link vs. ext dangling -TOOLTEST h5diff_469.txt -v --follow-symlinks h5diff_danglelinks1.h5 h5diff_danglelinks2.h5 /ext_link2 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_469.txt -v --follow-symlinks h5diff_danglelinks1.h5 h5diff_danglelinks2.h5 /ext_link2" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi #---------------------------------------- # dangling links without follow symlink @@ -1093,7 +1246,15 @@ TOOLTEST h5diff_475.txt -v h5diff_danglelinks1.h5 h5diff_danglelinks2.h5 /ext_li # ############################################################################## # root TOOLTEST h5diff_500.txt -v h5diff_grp_recurse1.h5 h5diff_grp_recurse2.h5 / / -TOOLTEST h5diff_501.txt -v --follow-symlinks h5diff_grp_recurse1.h5 h5diff_grp_recurse2.h5 / / +# Note: Requires VOL connector that supports external links +ARGS="h5diff_501.txt -v --follow-symlinks h5diff_grp_recurse1.h5 h5diff_grp_recurse2.h5 / /" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # root vs group TOOLTEST h5diff_502.txt -v h5diff_grp_recurse1.h5 h5diff_grp_recurse2.h5 / /grp1/grp2/grp3 @@ -1110,19 +1271,51 @@ TOOLTEST h5diff_506.txt -v --follow-symlinks h5diff_grp_recurse1.h5 h5diff_grp_r # groups vs ext-link TOOLTEST h5diff_507.txt -v h5diff_grp_recurse1.h5 h5diff_grp_recurse2.h5 /grp1 /elink_grp1 -TOOLTEST h5diff_508.txt -v --follow-symlinks h5diff_grp_recurse1.h5 h5diff_grp_recurse2.h5 /grp1 /elink_grp1 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_508.txt -v --follow-symlinks h5diff_grp_recurse1.h5 h5diff_grp_recurse2.h5 /grp1 /elink_grp1" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # soft-link vs ext-link TOOLTEST h5diff_509.txt -v h5diff_grp_recurse1.h5 h5diff_grp_recurse2.h5 /slink_grp1 /elink_grp1 -TOOLTEST h5diff_510.txt -v --follow-symlinks h5diff_grp_recurse1.h5 h5diff_grp_recurse2.h5 /slink_grp1 /elink_grp1 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_510.txt -v --follow-symlinks h5diff_grp_recurse1.h5 h5diff_grp_recurse2.h5 /slink_grp1 /elink_grp1" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # circled ext links TOOLTEST h5diff_511.txt -v h5diff_grp_recurse1.h5 h5diff_grp_recurse2.h5 /grp10 /grp11 -TOOLTEST h5diff_512.txt -v --follow-symlinks h5diff_grp_recurse1.h5 h5diff_grp_recurse2.h5 /grp10 /grp11 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_512.txt -v --follow-symlinks h5diff_grp_recurse1.h5 h5diff_grp_recurse2.h5 /grp10 /grp11" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # circled soft2ext-link vs soft2ext-link TOOLTEST h5diff_513.txt -v h5diff_grp_recurse1.h5 h5diff_grp_recurse2.h5 /slink_grp10 /slink_grp11 -TOOLTEST h5diff_514.txt -v --follow-symlinks h5diff_grp_recurse1.h5 h5diff_grp_recurse2.h5 /slink_grp10 /slink_grp11 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_514.txt -v --follow-symlinks h5diff_grp_recurse1.h5 h5diff_grp_recurse2.h5 /slink_grp10 /slink_grp11" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi ############################################################################### # Test for group recursive diff via multi-linked external links @@ -1131,10 +1324,26 @@ TOOLTEST h5diff_514.txt -v --follow-symlinks h5diff_grp_recurse1.h5 h5diff_grp_r ############################################################################### # file vs file TOOLTEST h5diff_515.txt -v h5diff_grp_recurse_ext1.h5 h5diff_grp_recurse_ext2-1.h5 -TOOLTEST h5diff_516.txt -v --follow-symlinks h5diff_grp_recurse_ext1.h5 h5diff_grp_recurse_ext2-1.h5 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_516.txt -v --follow-symlinks h5diff_grp_recurse_ext1.h5 h5diff_grp_recurse_ext2-1.h5" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # group vs group TOOLTEST h5diff_517.txt -v h5diff_grp_recurse_ext1.h5 h5diff_grp_recurse_ext2-1.h5 /g1 -TOOLTEST h5diff_518.txt -v --follow-symlinks h5diff_grp_recurse_ext1.h5 h5diff_grp_recurse_ext2-1.h5 /g1 +# Note: Requires VOL connector that supports external links +ARGS="h5diff_518.txt -v --follow-symlinks h5diff_grp_recurse_ext1.h5 h5diff_grp_recurse_ext2-1.h5 /g1" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links." +fi # ############################################################################## # # Exclude objects (--exclude-path) @@ -1210,9 +1419,28 @@ TOOLTEST h5diff_801.txt -v h5diff_dset1.h5 h5diff_dset3.h5 /g1/array /g1/array # ############################################################################## # VDS tests # ############################################################################## -TOOLTEST h5diff_v1.txt -v 1_vds.h5 2_vds.h5 + +# Note: Requires VOL connector that supports external links +ARGS="h5diff_v1.txt -v 1_vds.h5 2_vds.h5" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support virtual datasets." +fi + TOOLTEST h5diff_v2.txt -r 1_vds.h5 2_vds.h5 -TOOLTEST h5diff_v3.txt -c 1_vds.h5 2_vds.h5 + +# Note: Requires VOL connector that supports external links +ARGS="h5diff_v3.txt -c 1_vds.h5 2_vds.h5" +if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $ARGS +else + SKIP $ARGS + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support virtual datasets." +fi # ############################################################################## diff --git a/tools/test/h5dump/testh5dumpvds.sh.in b/tools/test/h5dump/testh5dumpvds.sh.in index f2c486e..e93b67b 100644 --- a/tools/test/h5dump/testh5dumpvds.sh.in +++ b/tools/test/h5dump/testh5dumpvds.sh.in @@ -32,6 +32,9 @@ H5DIFF_BIN=`pwd`/$H5DIFF # The path of the h5diff tool binary H5IMPORT=../../src/h5import/h5import # The h5import tool name H5IMPORT_BIN=`pwd`/$H5IMPORT # The path of the h5import tool binary +VDS_CHECK_COMPAT_VOL=../../../utils/vds_check_compat_vol # The vds_check_compat_vol tool name +VDS_CHECK_COMPAT_VOL_BIN=`pwd`/$VDS_CHECK_COMPAT_VOL # The path of the vds_check_compat_vol tool binary + RM='rm -rf' CMP='cmp -s' DIFF='diff -c' @@ -418,6 +421,18 @@ SKIP() { echo " -SKIP-" } +# Check for compatible VOL connector +# Note: Requires VOL connector that supports external links and virtual datasets +COMPAT_VOL_TEST() { + if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $@ + else + SKIP $@ + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links or virtual datasets." + fi +} + # Print a line-line message left justified in a field of 70 characters # PRINT_H5DIFF() { @@ -487,31 +502,55 @@ IMPORTTEST() # prepare for test COPY_TESTFILES_TO_TESTDIR +# Check to see if the VOL connector specified by the HDF5_VOL_CONNECTOR +# environment variable supports virtual datasets (and external links) +# +# Note: Depends on vds_check_compat_vol tool from $(topdir)/utils +$VDS_CHECK_COMPAT_VOL_BIN +COMPAT_VOL=$? + ####### test for dataset vds ###### # Data read if test $USE_FILTER_DEFLATE = "yes" ; then - TOOLTEST tvds-1.ddl --enable-error-stack 1_vds.h5 - TOOLTEST tvds-2.ddl --enable-error-stack 2_vds.h5 - TOOLTEST tvds-3_1.ddl --enable-error-stack 3_1_vds.h5 - TOOLTEST tvds-3_2.ddl --enable-error-stack 3_2_vds.h5 - TOOLTEST tvds-4.ddl --enable-error-stack 4_vds.h5 - TOOLTEST tvds-5.ddl --enable-error-stack 5_vds.h5 - TOOLTEST vds-first.ddl --vds-view-first-missing --enable-error-stack vds-percival-unlim-maxmin.h5 - TOOLTEST vds-gap1.ddl -d /VDS-Eiger --vds-gap-size=1 --enable-error-stack vds-eiger.h5 - TOOLTEST vds-gap2.ddl --vds-gap-size=2 --enable-error-stack vds-eiger.h5 + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST tvds-1.ddl --enable-error-stack 1_vds.h5 + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST tvds-2.ddl --enable-error-stack 2_vds.h5 + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST tvds-3_1.ddl --enable-error-stack 3_1_vds.h5 + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST tvds-3_2.ddl --enable-error-stack 3_2_vds.h5 + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST tvds-4.ddl --enable-error-stack 4_vds.h5 + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST tvds-5.ddl --enable-error-stack 5_vds.h5 + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST vds-first.ddl --vds-view-first-missing --enable-error-stack vds-percival-unlim-maxmin.h5 + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST vds-gap1.ddl -d /VDS-Eiger --vds-gap-size=1 --enable-error-stack vds-eiger.h5 + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST vds-gap2.ddl --vds-gap-size=2 --enable-error-stack vds-eiger.h5 fi # Layout read if test $USE_FILTER_DEFLATE = "yes" ; then - TOOLTEST tvds_layout-1.ddl -p --enable-error-stack 1_vds.h5 - TOOLTEST tvds_layout-2.ddl -p --enable-error-stack 2_vds.h5 - TOOLTEST tvds_layout-3_1.ddl -p --enable-error-stack 3_1_vds.h5 - TOOLTEST tvds_layout-3_2.ddl -p --enable-error-stack 3_2_vds.h5 - TOOLTEST tvds_layout-4.ddl -p --enable-error-stack 4_vds.h5 - TOOLTEST tvds_layout-5.ddl -p --enable-error-stack 5_vds.h5 - TOOLTEST vds_layout-eiger.ddl -p --enable-error-stack vds-eiger.h5 - TOOLTEST vds_layout-maxmin.ddl -p --enable-error-stack vds-percival-unlim-maxmin.h5 + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST tvds_layout-1.ddl -p --enable-error-stack 1_vds.h5 + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST tvds_layout-2.ddl -p --enable-error-stack 2_vds.h5 + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST tvds_layout-3_1.ddl -p --enable-error-stack 3_1_vds.h5 + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST tvds_layout-3_2.ddl -p --enable-error-stack 3_2_vds.h5 + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST tvds_layout-4.ddl -p --enable-error-stack 4_vds.h5 + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST tvds_layout-5.ddl -p --enable-error-stack 5_vds.h5 + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST vds_layout-eiger.ddl -p --enable-error-stack vds-eiger.h5 + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST vds_layout-maxmin.ddl -p --enable-error-stack vds-percival-unlim-maxmin.h5 fi # Clean up temporary files/directories diff --git a/tools/test/h5ls/testh5ls.sh.in b/tools/test/h5ls/testh5ls.sh.in index ee0dad7..4e86395 100644 --- a/tools/test/h5ls/testh5ls.sh.in +++ b/tools/test/h5ls/testh5ls.sh.in @@ -24,6 +24,8 @@ EXIT_FAILURE=1 H5LS=../../src/h5ls/h5ls # The tool name H5LS_BIN=`pwd`/$H5LS # The path of the tool binary +VDS_CHECK_COMPAT_VOL=../../../utils/vds_check_compat_vol # The vds_check_compat_vol tool name +VDS_CHECK_COMPAT_VOL_BIN=`pwd`/$VDS_CHECK_COMPAT_VOL # The path of the vds_check_compat_vol tool binary RM='rm -rf' CMP='cmp -s' @@ -290,6 +292,24 @@ TOOLTEST() { fi } +# Print a "SKIP" message +SKIP() { + TESTING $H5LS $@ + echo " -SKIP-" +} + +# Check for compatible VOL connector +# Note: Requires VOL connector that supports external links and virtual datasets +COMPAT_VOL_TEST() { + if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $@ + else + SKIP $@ + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links or virtual datasets." + fi +} + ############################################################################## ############################################################################## ### T H E T E S T S ### @@ -298,6 +318,13 @@ TOOLTEST() { # prepare for test COPY_TESTFILES_TO_TESTDIR +# Check to see if the VOL connector specified by the HDF5_VOL_CONNECTOR +# environment variable supports virtual datasets (and external links) +# +# Note: Depends on vds_check_compat_vol tool from $(topdir)/utils +$VDS_CHECK_COMPAT_VOL_BIN +COMPAT_VOL=$? + # Toss in a bunch of tests. Not sure if they are the right kinds. # test the help syntax TOOLTEST help-1.ls 0 -w80 -h @@ -334,29 +361,41 @@ TOOLTEST tsoftlinks-5.ls 0 --follow-symlinks tsoftlinks.h5/soft_dset1 # test for displaying external and user-defined links with --follow-symlinks TOOLTEST textlink-1.ls 0 -w80 -r textlink.h5 -TOOLTEST textlinksrc-1.ls 0 -w80 --follow-symlinks -r textlinksrc.h5 -TOOLTEST textlinksrc-2.ls 0 -w80 --follow-symlinks -rv textlinksrc.h5/ext_link5 -TOOLTEST textlinksrc-3.ls 0 -w80 --follow-symlinks -r textlinksrc.h5/ext_link1 +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST textlinksrc-1.ls 0 -w80 --follow-symlinks -r textlinksrc.h5 +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST textlinksrc-2.ls 0 -w80 --follow-symlinks -rv textlinksrc.h5/ext_link5 +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST textlinksrc-3.ls 0 -w80 --follow-symlinks -r textlinksrc.h5/ext_link1 TOOLTEST textlinksrc-4.ls 0 -w80 -r textlinksrc.h5 TOOLTEST textlinksrc-5.ls 0 -w80 -r textlinksrc.h5/ext_link1 -TOOLTEST textlinksrc-6.ls 0 -w80 --follow-symlinks textlinksrc.h5 -TOOLTEST textlinksrc-7.ls 0 -w80 --follow-symlinks textlinksrc.h5/ext_link1 -TOOLTEST tudlink-1.ls 0 -w80 -r tudlink.h5 +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST textlinksrc-6.ls 0 -w80 --follow-symlinks textlinksrc.h5 +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST textlinksrc-7.ls 0 -w80 --follow-symlinks textlinksrc.h5/ext_link1 +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST tudlink-1.ls 0 -w80 -r tudlink.h5 # test for displaying external links with -E # the option -E will be depriciated but keep it for backward compatibility -TOOLTEST textlinksrc-1-old.ls 0 -w80 -Er textlinksrc.h5 -TOOLTEST textlinksrc-2-old.ls 0 -w80 -Erv textlinksrc.h5/ext_link5 -TOOLTEST textlinksrc-3-old.ls 0 -w80 -Er textlinksrc.h5/ext_link1 -TOOLTEST textlinksrc-6-old.ls 0 -w80 -E textlinksrc.h5 -TOOLTEST textlinksrc-7-old.ls 0 -w80 -E textlinksrc.h5/ext_link1 +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST textlinksrc-1-old.ls 0 -w80 -Er textlinksrc.h5 +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST textlinksrc-2-old.ls 0 -w80 -Erv textlinksrc.h5/ext_link5 +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST textlinksrc-3-old.ls 0 -w80 -Er textlinksrc.h5/ext_link1 +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST textlinksrc-6-old.ls 0 -w80 -E textlinksrc.h5 +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST textlinksrc-7-old.ls 0 -w80 -E textlinksrc.h5/ext_link1 # tests for no-dangling-links # if this option is given on dangling link, h5ls should return exit code 1 # when used alone , expect to print out help and return exit code 1 TOOLTEST textlinksrc-nodangle-1.ls 1 -w80 --no-dangling-links textlinksrc.h5 # external dangling link - expected exit code 1 -TOOLTEST textlinksrc-nodangle-2.ls 1 -w80 --follow-symlinks --no-dangling-links textlinksrc.h5 +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST textlinksrc-nodangle-2.ls 1 -w80 --follow-symlinks --no-dangling-links textlinksrc.h5 # soft dangling link - expected exit code 1 TOOLTEST tsoftlinks-nodangle-1.ls 1 -w80 --follow-symlinks --no-dangling-links tsoftlinks.h5 # when used file with no dangling links - expected exit code 0 diff --git a/tools/test/h5ls/testh5lsvds.sh.in b/tools/test/h5ls/testh5lsvds.sh.in index 4814f85..cfdfa6b 100644 --- a/tools/test/h5ls/testh5lsvds.sh.in +++ b/tools/test/h5ls/testh5lsvds.sh.in @@ -21,6 +21,8 @@ EXIT_FAILURE=1 H5LS=../../src/h5ls/h5ls # The tool name H5LS_BIN=`pwd`/$H5LS # The path of the tool binary +VDS_CHECK_COMPAT_VOL=../../../utils/vds_check_compat_vol # The vds_check_compat_vol tool name +VDS_CHECK_COMPAT_VOL_BIN=`pwd`/$VDS_CHECK_COMPAT_VOL # The path of the vds_check_compat_vol tool binary RM='rm -rf' CMP='cmp -s' @@ -229,6 +231,24 @@ TOOLTEST() { fi } +# Print a "SKIP" message +SKIP() { + TESTING $H5LS $@ + echo " -SKIP-" +} + +# Check for compatible VOL connector +# Note: Requires VOL connector that supports external links and virtual datasets +COMPAT_VOL_TEST() { + if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + TOOLTEST $@ + else + SKIP $@ + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links or virtual datasets." + fi +} + ############################################################################## ############################################################################## ### T H E T E S T S ### @@ -237,14 +257,27 @@ TOOLTEST() { # prepare for test COPY_TESTFILES_TO_TESTDIR +# Check to see if the VOL connector specified by the HDF5_VOL_CONNECTOR +# environment variable supports virtual datasets (and external links) +# +# Note: Depends on vds_check_compat_vol tool from $(topdir)/utils +$VDS_CHECK_COMPAT_VOL_BIN +COMPAT_VOL=$? + ####### test for dataset vds ###### -TOOLTEST tvds-1.ls 0 -w80 -v -S 1_vds.h5 -TOOLTEST tvds-2.ls 0 -w80 -v -S 2_vds.h5 -TOOLTEST tvds-3_1.ls 0 -w80 -v -S 3_1_vds.h5 -TOOLTEST tvds-3_2.ls 0 -w80 -v -S 3_2_vds.h5 -TOOLTEST tvds-4.ls 0 -w80 -v -S 4_vds.h5 -TOOLTEST tvds-5.ls 0 -w80 -v -S 5_vds.h5 +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST tvds-1.ls 0 -w80 -v -S 1_vds.h5 +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST tvds-2.ls 0 -w80 -v -S 2_vds.h5 +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST tvds-3_1.ls 0 -w80 -v -S 3_1_vds.h5 +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST tvds-3_2.ls 0 -w80 -v -S 3_2_vds.h5 +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST tvds-4.ls 0 -w80 -v -S 4_vds.h5 +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST tvds-5.ls 0 -w80 -v -S 5_vds.h5 # Clean up temporary files/directories CLEAN_TESTFILES_AND_TESTDIR diff --git a/tools/test/h5repack/h5repack.sh.in b/tools/test/h5repack/h5repack.sh.in index 3756a95..9b826b3 100644 --- a/tools/test/h5repack/h5repack.sh.in +++ b/tools/test/h5repack/h5repack.sh.in @@ -39,6 +39,9 @@ H5DUMP_BIN=`pwd`/$H5DUMP # The path of the h5dump tool binary H5STAT=../../src/h5stat/h5stat # The h5stat tool name H5STAT_BIN=`pwd`/$H5STAT # The path of the h5stat tool binary +VDS_CHECK_COMPAT_VOL=../../../utils/vds_check_compat_vol # The vds_check_compat_vol tool name +VDS_CHECK_COMPAT_VOL_BIN=`pwd`/$VDS_CHECK_COMPAT_VOL # The path of the vds_check_compat_vol tool binary + RM='rm -rf' CMP='cmp' DIFF='diff -c' @@ -327,6 +330,26 @@ SKIP() { echo " -SKIP-" } +BOUNCE() { + ACTUAL_TEST=$1 + shift + $ACTUAL_TEST $@ +} + +# Check for compatible VOL connector +# Note: Requires VOL connector that supports external links and virtual datasets +COMPAT_VOL_TEST() { + if [ $COMPAT_VOL -eq $EXIT_SUCCESS ]; then + ACTUAL_TEST=$1 + shift + $ACTUAL_TEST $@ + else + SKIP $@ + echo " The VOL connector specified by the HDF5_VOL_CONNECTOR environment" + echo " variable does not support external links or virtual datasets." + fi +} + ############################################################################## ############################################################################## ### T H E T E S T S M A C R O S ### @@ -1316,6 +1339,13 @@ fi # prepare for test COPY_TESTFILES_TO_TESTDIR +# Check to see if the VOL connector specified by the HDF5_VOL_CONNECTOR +# environment variable supports virtual datasets (and external links) +# +# Note: Depends on vds_check_compat_vol tool from $(topdir)/utils +$VDS_CHECK_COMPAT_VOL_BIN +COMPAT_VOL=$? + TOOLTEST_HELP h5repack-help.txt -h # copy files (these files have no filters) @@ -1732,31 +1762,36 @@ TOOLTEST_META meta_long h5repack_layout.h5 --metadata_block_size=8192 if test $USE_FILTER_DEFLATE != "yes" ; then SKIP vds_dset_chunk_20x10x5 else - VERIFY_LAYOUT_VDS vds_dset_chunk20x10x5 1_vds.h5 vds_dset CHUNKED --layout vds_dset:CHUNK=20x10x5 + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST VERIFY_LAYOUT_VDS vds_dset_chunk20x10x5 1_vds.h5 vds_dset CHUNKED --layout vds_dset:CHUNK=20x10x5 fi if test $USE_FILTER_DEFLATE != "yes" ; then SKIP vds_chunk2x5x8 else - VERIFY_LAYOUT_VDS vds_chunk2x5x8 3_1_vds.h5 vds_dset CHUNKED -l vds_dset:CHUNK=2x5x8 + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST VERIFY_LAYOUT_VDS vds_chunk2x5x8 3_1_vds.h5 vds_dset CHUNKED -l vds_dset:CHUNK=2x5x8 fi if test $USE_FILTER_DEFLATE != "yes" ; then SKIP vds_chunk3x6x9 else - VERIFY_LAYOUT_VDS vds_chunk3x6x9 2_vds.h5 vds_dset CHUNKED -l vds_dset:CHUNK=3x6x9 + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST VERIFY_LAYOUT_VDS vds_chunk3x6x9 2_vds.h5 vds_dset CHUNKED -l vds_dset:CHUNK=3x6x9 fi if test $USE_FILTER_DEFLATE != "yes" ; then SKIP vds_compa 4_vds.h5 else - VERIFY_LAYOUT_VDS vds_compa 4_vds.h5 vds_dset COMPACT -l vds_dset:COMPA + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST VERIFY_LAYOUT_VDS vds_compa 4_vds.h5 vds_dset COMPACT -l vds_dset:COMPA fi if test $USE_FILTER_DEFLATE != "yes" ; then - SKIP vds_conti 4_vds.h5 + SKIP vds_conti 4_vds.h5 else - VERIFY_LAYOUT_VDS vds_conti 4_vds.h5 vds_dset CONTIGUOUS -l vds_dset:CONTI + # Note: Requires VOL connector that supports external links + COMPAT_VOL_TEST VERIFY_LAYOUT_VDS vds_conti 4_vds.h5 vds_dset CONTIGUOUS -l vds_dset:CONTI fi ################################################################ @@ -1789,11 +1824,15 @@ VERIFY_EXTERNAL_CONSOLIDATION -l CONTI #TOOLTEST_DUMP h5copy_extlinks_src-base h5copy_extlinks_src.h5 --enable-error-stack TOOLTEST_DUMP tsoftlinks-base tsoftlinks.h5 --enable-error-stack TOOLTEST_DUMP textlink-base textlink.h5 --enable-error-stack -TOOLTEST_DUMP textlinkfar-base textlinkfar.h5 --enable-error-stack -TOOLTEST_DUMP textlinksrc-base textlinksrc.h5 --enable-error-stack -TOOLTEST_DUMP textlinktar-base textlinktar.h5 --enable-error-stack - -TOOLTESTSV h5copy_extlinks_src-merge h5copy_extlinks_src.h5 --merge +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST TOOLTEST_DUMP textlinkfar-base textlinkfar.h5 --enable-error-stack +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST TOOLTEST_DUMP textlinksrc-base textlinksrc.h5 --enable-error-stack +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST TOOLTEST_DUMP textlinktar-base textlinktar.h5 --enable-error-stack + +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST TOOLTESTSV h5copy_extlinks_src-merge h5copy_extlinks_src.h5 --merge TOOLFAILSV tsoftlinks-merge tsoftlinks.h5 --merge TOOLTESTSV textlink-merge textlink.h5 --merge ### HDFFV-11128 needs fixed to enable the following test @@ -1810,7 +1849,8 @@ TOOLTEST_DUMP textlinkfar-prune textlinkfar.h5 --prune --enable-error-stack TOOLTEST_DUMP textlinksrc-prune textlinksrc.h5 --prune --enable-error-stack TOOLTEST_DUMP textlinktar-prune textlinktar.h5 --prune --enable-error-stack -TOOLTEST_DUMP h5copy_extlinks_src-mergeprune h5copy_extlinks_src.h5 --merge --prune --enable-error-stack +# Note: Requires VOL connector that supports external links +COMPAT_VOL_TEST TOOLTEST_DUMP h5copy_extlinks_src-mergeprune h5copy_extlinks_src.h5 --merge --prune --enable-error-stack TOOLTEST_DUMP tsoftlinks-mergeprune tsoftlinks.h5 --merge --prune --enable-error-stack TOOLTEST_DUMP textlink-mergeprune textlink.h5 --merge --prune --enable-error-stack ### HDFFV-11128 needs fixed to enable the following test |