summaryrefslogtreecommitdiffstats
path: root/tools/h5repack/h5repack.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/h5repack/h5repack.sh')
-rw-r--r--tools/h5repack/h5repack.sh108
1 files changed, 106 insertions, 2 deletions
diff --git a/tools/h5repack/h5repack.sh b/tools/h5repack/h5repack.sh
index e55e8aa..8b8f44a 100644
--- a/tools/h5repack/h5repack.sh
+++ b/tools/h5repack/h5repack.sh
@@ -14,6 +14,110 @@
#
# Tests for the h5repack tool
+H5REPACK=h5repack # The tool name
+H5REPACK_BIN=`pwd`/$H5REPACK # The path of the tool binary
-#run the h5repack test
-./h5repacktst
+H5DIFF=../h5diff/h5diff # The h5diff tool name
+H5DIFF_BIN=`pwd`/$H5DIFF # The path of the h5diff tool binary
+
+nerrors=0
+verbose=yes
+
+# The build (current) directory might be different than the source directory.
+#
+if test -z "$srcdir"; then
+ srcdir=.
+fi
+
+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'
+}
+
+# Print a line-line message left justified in a field of 70 characters
+# beginning with the word "Verifying".
+#
+VERIFY() {
+ SPACES=" "
+ echo "Testing h5diff output $* $SPACES" | cut -c1-70 | tr -d '\012'
+}
+
+
+# Call h5repack
+#
+TOOLTEST()
+{
+ # Run test.
+ # Tflops interprets "$@" as "" when no parameter is given (e.g., the
+ # case of missing file name). Changed it to use $@ till Tflops fixes it.
+ TESTING $H5REPACK $@
+ (
+ cd $srcdir/../testfiles
+ if [ "`uname -s`" = "TFLOPS O/S" ]; then
+ $RUNSERIAL $H5REPACK_BIN $@
+ else
+ $RUNSERIAL $H5REPACK_BIN "$@"
+ fi
+ )
+echo " PASSED"
+}
+
+# Call the h5diff tool
+#
+DIFFTEST()
+{
+ VERIFY $@
+ (
+ cd $srcdir/../testfiles
+ if [ "`uname -s`" = "TFLOPS O/S" ]; then
+ $RUNSERIAL $H5DIFF_BIN $@
+ else
+ $RUNSERIAL $H5DIFF_BIN "$@"
+ fi
+ )
+ echo " PASSED"
+}
+
+
+#
+#The tests
+#We use the file "test4.h5" generated by h5repacktst
+#Each run generates "file4.out.h5" and the tool h5diff is used to
+# compare the input and output files
+#
+TOOLTEST -i test4.h5 -o test4.out.h5
+DIFFTEST test4.h5 test4.out.h5
+TOOLTEST -i test4.h5 -o test4.out.h5 -f "GZIP 1"
+DIFFTEST test4.h5 test4.out.h5
+TOOLTEST -i test4.h5 -o test4.out.h5 -f "SZIP 8"
+DIFFTEST test4.h5 test4.out.h5
+TOOLTEST -i test4.h5 -o test4.out.h5 -f "SHUF"
+DIFFTEST test4.h5 test4.out.h5
+TOOLTEST -i test4.h5 -o test4.out.h5 -f "FLET"
+DIFFTEST test4.h5 test4.out.h5
+TOOLTEST -i test4.h5 -o test4.out.h5 -f "dset1:SHUF" -f "dset1,dset2:GZIP 6"
+DIFFTEST test4.h5 test4.out.h5
+TOOLTEST -i test4.h5 -o test4.out.h5 -l "dset1:CHUNK 20x20" -f "dset1,dset2:SZIP 8"
+DIFFTEST test4.h5 test4.out.h5
+TOOLTEST -i test4.h5 -o test4.out.h5 -l "CHUNK 20x20"
+DIFFTEST test4.h5 test4.out.h5
+TOOLTEST -i test4.h5 -o test4.out.h5 -l "COMPA"
+DIFFTEST test4.h5 test4.out.h5
+TOOLTEST -i test4.h5 -o test4.out.h5 -l "CONTI"
+DIFFTEST test4.h5 test4.out.h5
+TOOLTEST -i test4.h5 -o test4.out.h5 -f "GZIP 1" -m 1024
+DIFFTEST test4.h5 test4.out.h5
+TOOLTEST -i test4.h5 -o test4.out.h5 -f "NONE"
+DIFFTEST test4.h5 test4.out.h5
+TOOLTEST -i test4.h5 -o test4.out.h5 -e "h5repack_info.txt"
+DIFFTEST test4.h5 test4.out.h5
+
+
+
+
+exit $nerrors