summaryrefslogtreecommitdiffstats
path: root/tools/h5dump/testh5dump.sh.in
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2011-03-04 13:34:18 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2011-03-04 13:34:18 (GMT)
commite89007f62146abdf81edc6a7ab17bf08c654bd88 (patch)
treea3c3c77b90e223a8c7ab28364e68ea1608294f8c /tools/h5dump/testh5dump.sh.in
parent070556eca7943dd090e3b11f79382cc76a466646 (diff)
downloadhdf5-e89007f62146abdf81edc6a7ab17bf08c654bd88.zip
hdf5-e89007f62146abdf81edc6a7ab17bf08c654bd88.tar.gz
hdf5-e89007f62146abdf81edc6a7ab17bf08c654bd88.tar.bz2
[svn-r20182] BZ2048: Add -E --enable-error-stack option to h5dump.
Brought from trunk after one week of tests. Tested: local linux
Diffstat (limited to 'tools/h5dump/testh5dump.sh.in')
-rw-r--r--tools/h5dump/testh5dump.sh.in52
1 files changed, 52 insertions, 0 deletions
diff --git a/tools/h5dump/testh5dump.sh.in b/tools/h5dump/testh5dump.sh.in
index f710c28..765dae6 100644
--- a/tools/h5dump/testh5dump.sh.in
+++ b/tools/h5dump/testh5dump.sh.in
@@ -199,6 +199,55 @@ TOOLTEST2() {
}
+# same as TOOLTEST but filters error stack outp
+# Extract file name, line number, version and thread IDs because they may be different
+TOOLTEST3() {
+
+ expect="$srcdir/../testfiles/$1"
+ actual="../testfiles/`basename $1 .ddl`.out"
+ actual_err="../testfiles/`basename $1 .ddl`.err"
+ actual_ext="../testfiles/`basename $1 .ddl`.ext"
+ shift
+
+ # Run test.
+ TESTING $DUMPER $@
+ (
+ echo "#############################"
+ echo "Expected output for '$DUMPER $@'"
+ echo "#############################"
+ cd $srcdir/../testfiles
+ $RUNSERIAL $DUMPER_BIN $@
+ ) >$actual 2>$actual_err
+
+ # Extract file name, line number, version and thread IDs because they may be different
+ sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ -e 's/H5Eget_auto[1-2]*/H5Eget_auto(1 or 2)/' \
+ -e 's/H5Eset_auto[1-2]*/H5Eset_auto(1 or 2)/' \
+ $actual_err > $actual_ext
+ cat $actual_ext >> $actual
+
+ if [ ! -f $expect ]; then
+ # Create the expect file if it doesn't yet exist.
+ echo " CREATED"
+ cp $actual $expect
+ elif $CMP $expect $actual; then
+ echo " PASSED"
+ else
+ echo "*FAILED*"
+ echo " Expected result (*.ddl) differs from actual result (*.out)"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF $expect $actual |sed 's/^/ /'
+ fi
+
+ # Clean up output file
+ if test -z "$HDF5_NOCLEANUP"; then
+ rm -f $actual $actual_err
+ fi
+
+}
# Print a "SKIP" message
SKIP() {
@@ -587,6 +636,9 @@ TOOLTEST textlinkfar.ddl textlinkfar.h5
# test for dangling external links
TOOLTEST textlink.ddl textlink.h5
+# test for error stack display (BZ2048)
+TOOLTEST3 filter_fail.ddl -E filter_fail.h5
+
# test for dataset packed bits
# Set up xCMD to test or skip.
if test "$Have_Packed_Bits" = "yes"; then