summaryrefslogtreecommitdiffstats
path: root/tools/h5copy
diff options
context:
space:
mode:
authorPedro Vicente Nunes <pvn@hdfgroup.org>2006-09-13 14:46:30 (GMT)
committerPedro Vicente Nunes <pvn@hdfgroup.org>2006-09-13 14:46:30 (GMT)
commitd135049773ab6a3ffcff6d27a65877ac20b7f56a (patch)
treece8e4c7bff6c44f661a116ea854e14e727eeb226 /tools/h5copy
parent78467109a1d8d6beecb7ee708b15108d31155e77 (diff)
downloadhdf5-d135049773ab6a3ffcff6d27a65877ac20b7f56a.zip
hdf5-d135049773ab6a3ffcff6d27a65877ac20b7f56a.tar.gz
hdf5-d135049773ab6a3ffcff6d27a65877ac20b7f56a.tar.bz2
[svn-r12664]
modified the h5copy test script so that it calls h5diff to check the copied file/object
Diffstat (limited to 'tools/h5copy')
-rw-r--r--tools/h5copy/testh5copy.sh89
1 files changed, 72 insertions, 17 deletions
diff --git a/tools/h5copy/testh5copy.sh b/tools/h5copy/testh5copy.sh
index 1504ea2..684af47 100644
--- a/tools/h5copy/testh5copy.sh
+++ b/tools/h5copy/testh5copy.sh
@@ -14,13 +14,14 @@
#
# Tests for the h5copy tool
#
-# Pedro Vicente Nunes
-# pvn@hdfgroup.org
+# Pedro Vicente Nunes (pvn@hdfgroup.org), Albert Cheng (acheng@hdfgroup.org)
# Thursday, July 20, 2006
#
H5COPY=h5copy # The tool name
H5COPY_BIN=`pwd`/$H5COPY # The path of the tool binary
+H5DIFF=../h5diff/h5diff # The h5diff tool name
+H5DIFF_BIN=`pwd`/$H5DIFF # The path of the h5diff tool binary
nerrors=0
@@ -32,31 +33,81 @@ test -d ../testfiles || mkdir ../testfiles
# Print a line-line message left justified in a field of 70 characters
# beginning with the word "Testing".
-TESTING() {
- SPACES=" "
- echo "Testing $* $SPACES" |cut -c1-70 |tr -d '\012'
+TESTING()
+{
+ SPACES=" "
+ echo "Testing $* $SPACES" |cut -c1-70 |tr -d '\012'
+}
+
+# Print a line-line message left justified in a field of 70 characters
+# beginning with the word "Verifying".
+#
+VERIFY()
+{
+ SPACES=" "
+ echo "Verifying h5diff output $* $SPACES" | cut -c1-70 | tr -d '\012'
}
# Run a test and print PASS or *FAIL*. If h5copy can complete
# with exit status 0, consider it pass. If a test fails then increment
# the `nerrors' global variable.
+# $1 is input file
+# $2 is output file
+# $* everything else arguments for h5copy.
+
-TOOLTEST() {
+TOOLTEST()
+{
+ runh5diff=yes
+ if [ "$1" = -i ]; then
+ inputfile=$2
+ else
+ runh5diff=no
+ fi
+ if [ "$3" = -o ]; then
+ outputfile=$4
+ else
+ runh5diff=no
+ fi
+
TESTING $H5COPY $@
(
- echo "#############################"
- echo " output for '$H5COPY $@'"
- echo "#############################"
- $RUNSERIAL $H5COPY_BIN $@
+ echo "#############################"
+ echo " output for '$H5COPY $@'"
+ echo "#############################"
+ $RUNSERIAL $H5COPY_BIN $@
) > output.out
RET=$?
if [ $RET != 0 ] ; then
- echo "*FAILED*"
- echo "failed result is:"
- cat output.out
- nerrors="`expr $nerrors + 1`"
+ echo "*FAILED*"
+ echo "failed result is:"
+ cat output.out
+ nerrors="`expr $nerrors + 1`"
+ else
+ echo " PASSED"
+ fi
+
+ if [ $runh5diff != no ]; then
+ H5DIFFTEST $inputfile $outputfile
+ fi
+}
+
+# Call the h5diff tool
+#
+H5DIFFTEST()
+{
+ VERIFY $@
+ if [ "`uname -s`" = "TFLOPS O/S" ]; then
+ $RUNSERIAL $H5DIFF_BIN $@ -q
+ else
+ $RUNSERIAL $H5DIFF_BIN "$@" -q
+ fi
+ RET=$?
+ if [ $RET != 0 ] ; then
+ echo "*FAILED*"
+ nerrors="`expr $nerrors + 1`"
else
- echo " PASSED"
+ echo " PASSED"
fi
}
@@ -64,11 +115,15 @@ TOOLTEST() {
### T H E T E S T S ###
##############################################################################
-TOOLTEST -v -i $srcdir/../testfiles/test1.h5 -o test1.out.h5 -s array -d array
-TOOLTEST -v -i $srcdir/../testfiles/test1.h5 -o test1.out.h5 -s g1 -d g1
+TOOLTEST -i $srcdir/../testfiles/test1.h5 -o test1.out.h5 -v -s array -d array
+
+
if test $nerrors -eq 0 ; then
echo "All h5copy tests passed."
fi
exit $nerrors
+
+
+