From 60cb2c82544e8bfe15fa3e23dad62f2d18ce5418 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Tue, 1 Nov 2016 15:48:39 -0500 Subject: refactor repart test to use test dir --- tools/test/misc/testh5repart.sh.in | 87 +++++++++++++++++++++++++++++++++++--- 1 file changed, 80 insertions(+), 7 deletions(-) diff --git a/tools/test/misc/testh5repart.sh.in b/tools/test/misc/testh5repart.sh.in index 0bce3a7..a8c961d 100644 --- a/tools/test/misc/testh5repart.sh.in +++ b/tools/test/misc/testh5repart.sh.in @@ -30,9 +30,78 @@ REPARTED_FAM_BIN=`pwd`/$REPARTED_FAM # The path of the test binary nerrors=0 verbose=yes -test -d ../testfiles || mkdir ../testfiles +# source dirs +SRC_TOOLS="$srcdir/../.." -actual_dir=`pwd`/../testfiles +SRC_TOOLS_TESTFILES="$SRC_TOOLS/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 +119,7 @@ TOOLTEST() { TESTING $REPART $@ ( # echo - cd $srcdir/../testfiles + cd $TESTDIR $RUNSERIAL $REPART_BIN $@ ) @@ -66,7 +135,7 @@ OUTPUTTEST() { # Run test program. TESTING $REPARTED_FAM $@ ( - cd $actual_dir + cd $TESTDIR $RUNSERIAL $REPARTED_FAM_BIN $@ ) @@ -80,15 +149,17 @@ 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 @@ -102,6 +173,8 @@ 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 -- cgit v0.12 From 430d10b04704272bafdc99144fa6c40428f98fec Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Tue, 1 Nov 2016 16:10:09 -0500 Subject: Correct test command line --- tools/test/misc/testh5repart.sh.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/test/misc/testh5repart.sh.in b/tools/test/misc/testh5repart.sh.in index a8c961d..01c7fd7 100644 --- a/tools/test/misc/testh5repart.sh.in +++ b/tools/test/misc/testh5repart.sh.in @@ -162,11 +162,11 @@ SKIP() { 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 -- cgit v0.12 From 8a323685f8c4c04e10b69cd7d339afbf38ab79f4 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Tue, 1 Nov 2016 16:38:18 -0500 Subject: Add util programs for tests --- tools/test/misc/testh5repart.sh.in | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/test/misc/testh5repart.sh.in b/tools/test/misc/testh5repart.sh.in index 01c7fd7..429e65e 100644 --- a/tools/test/misc/testh5repart.sh.in +++ b/tools/test/misc/testh5repart.sh.in @@ -27,6 +27,14 @@ 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' +DIFF='diff -c' +CP='cp' +DIRNAME='dirname' +LS='ls' +AWK='awk' + nerrors=0 verbose=yes -- cgit v0.12 From de57917e58b53d19ef9ac9379f24a1de69d3dd15 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Tue, 1 Nov 2016 16:42:13 -0500 Subject: minor cleanup to utils defines --- tools/test/misc/testh5mkgrp.sh.in | 5 +---- tools/test/misc/testh5repart.sh.in | 2 +- 2 files changed, 2 insertions(+), 5 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 429e65e..2106a1d 100644 --- a/tools/test/misc/testh5repart.sh.in +++ b/tools/test/misc/testh5repart.sh.in @@ -28,7 +28,7 @@ REPARTED_FAM=repart_test # The test name REPARTED_FAM_BIN=`pwd`/$REPARTED_FAM # The path of the test binary RM='rm -rf' -CMP='cmp' +CMP='cmp -s' DIFF='diff -c' CP='cp' DIRNAME='dirname' -- cgit v0.12