diff options
Diffstat (limited to 'tools/test')
-rw-r--r-- | tools/test/misc/testh5mkgrp.sh.in | 5 | ||||
-rw-r--r-- | tools/test/misc/testh5repart.sh.in | 101 |
2 files changed, 92 insertions, 14 deletions
diff --git a/tools/test/misc/testh5mkgrp.sh.in b/tools/test/misc/testh5mkgrp.sh.in index 83ffe16..9252934 100644 --- a/tools/test/misc/testh5mkgrp.sh.in +++ b/tools/test/misc/testh5mkgrp.sh.in @@ -32,7 +32,7 @@ H5LS_ARGS=-vr # Arguments to the h5ls tool H5LS_BIN=`pwd`/$H5LS # The path of the h5ls tool binary RM='rm -rf' -CMP='cmp' +CMP='cmp -s' DIFF='diff -c' CP='cp' DIRNAME='dirname' @@ -62,9 +62,6 @@ test -d $TESTDIR || mkdir -p $TESTDIR # Comment '#' without space can be used. # -------------------------------------------------------------------- -CMP='cmp -s' -DIFF='diff -c' - # # copy test files and expected output files from source dirs to test dir # diff --git a/tools/test/misc/testh5repart.sh.in b/tools/test/misc/testh5repart.sh.in index 0bce3a7..2106a1d 100644 --- a/tools/test/misc/testh5repart.sh.in +++ b/tools/test/misc/testh5repart.sh.in @@ -27,12 +27,89 @@ REPART_BIN=`pwd`/$REPART # The path of the tool binary REPARTED_FAM=repart_test # The test name REPARTED_FAM_BIN=`pwd`/$REPARTED_FAM # The path of the test binary +RM='rm -rf' +CMP='cmp -s' +DIFF='diff -c' +CP='cp' +DIRNAME='dirname' +LS='ls' +AWK='awk' + nerrors=0 verbose=yes -test -d ../testfiles || mkdir ../testfiles +# source dirs +SRC_TOOLS="$srcdir/../.." + +SRC_TOOLS_TESTFILES="$SRC_TOOLS/testfiles" -actual_dir=`pwd`/../testfiles +TESTDIR=./testfiles +test -d $TESTDIR || mkdir -p $TESTDIR + +# +# copy test files and expected output files from source dirs to test dir +# +COPY_TESTFILES=" +$SRC_TOOLS_TESTFILES/family_file00000.h5 +$SRC_TOOLS_TESTFILES/family_file00001.h5 +$SRC_TOOLS_TESTFILES/family_file00002.h5 +$SRC_TOOLS_TESTFILES/family_file00003.h5 +$SRC_TOOLS_TESTFILES/family_file00004.h5 +$SRC_TOOLS_TESTFILES/family_file00005.h5 +$SRC_TOOLS_TESTFILES/family_file00006.h5 +$SRC_TOOLS_TESTFILES/family_file00007.h5 +$SRC_TOOLS_TESTFILES/family_file00008.h5 +$SRC_TOOLS_TESTFILES/family_file00009.h5 +$SRC_TOOLS_TESTFILES/family_file00010.h5 +$SRC_TOOLS_TESTFILES/family_file00011.h5 +$SRC_TOOLS_TESTFILES/family_file00012.h5 +$SRC_TOOLS_TESTFILES/family_file00013.h5 +$SRC_TOOLS_TESTFILES/family_file00014.h5 +$SRC_TOOLS_TESTFILES/family_file00015.h5 +$SRC_TOOLS_TESTFILES/family_file00016.h5 +$SRC_TOOLS_TESTFILES/family_file00017.h5 +" + +COPY_TESTFILES_TO_TESTDIR() +{ + # copy test files. Used -f to make sure get a new copy + for tstfile in $COPY_TESTFILES + do + # ignore '#' comment + echo $tstfile | tr -d ' ' | grep '^#' > /dev/null + RET=$? + if [ $RET -eq 1 ]; then + # skip cp if srcdir is same as destdir + # this occurs when build/test performed in source dir and + # make cp fail + SDIR=`$DIRNAME $tstfile` + INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'` + INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'` + if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then + $CP -f $tstfile $TESTDIR + if [ $? -ne 0 ]; then + echo "Error: FAILED to copy $tstfile ." + + # Comment out this to CREATE expected file + exit $EXIT_FAILURE + fi + fi + fi + done +} + +CLEAN_TESTFILES_AND_TESTDIR() +{ + # skip rm if srcdir is same as destdir + # this occurs when build/test performed in source dir and + # make cp fail + SDIR=$SRC_TOOLS_TESTFILES + INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'` + INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'` + if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then + $RM $TESTDIR + fi +} # Print a line-line message left justified in a field of 70 characters # beginning with the word "Testing". @@ -50,7 +127,7 @@ TOOLTEST() { TESTING $REPART $@ ( # echo - cd $srcdir/../testfiles + cd $TESTDIR $RUNSERIAL $REPART_BIN $@ ) @@ -66,7 +143,7 @@ OUTPUTTEST() { # Run test program. TESTING $REPARTED_FAM $@ ( - cd $actual_dir + cd $TESTDIR $RUNSERIAL $REPARTED_FAM_BIN $@ ) @@ -80,28 +157,32 @@ OUTPUTTEST() { # Print a "SKIP" message SKIP() { - TESTING $REPART $@ - echo " -SKIP-" + TESTING $REPART $@ + echo " -SKIP-" } ############################################################################## ############################################################################## -### T H E T E S T S ### +### T H E T E S T S ### ############################################################################## ############################################################################## +# prepare for test +COPY_TESTFILES_TO_TESTDIR # repartition family member size to 20,000 bytes. -TOOLTEST -m 20000 family_file%05d.h5 $actual_dir/fst_family%05d.h5 +TOOLTEST -m 20000 family_file%05d.h5 fst_family%05d.h5 # repartition family member size to 5 KB. -TOOLTEST -m 5k family_file%05d.h5 $actual_dir/scd_family%05d.h5 +TOOLTEST -m 5k family_file%05d.h5 scd_family%05d.h5 # convert family file to sec2 file of 20,000 bytes -TOOLTEST -m 20000 -family_to_sec2 family_file%05d.h5 $actual_dir/family_to_sec2.h5 +TOOLTEST -m 20000 -family_to_sec2 family_file%05d.h5 family_to_sec2.h5 # test the output files repartitioned above. OUTPUTTEST echo # Clean up output file +CLEAN_TESTFILES_AND_TESTDIR + if test -z "$HDF5_NOCLEANUP"; then cd $actual_dir rm -f fst_family*.h5 scd_family*.h5 family_to_sec2.h5 |