summaryrefslogtreecommitdiffstats
path: root/HDF5Examples/FORTRAN/H5T/test.sh.in
diff options
context:
space:
mode:
Diffstat (limited to 'HDF5Examples/FORTRAN/H5T/test.sh.in')
-rwxr-xr-xHDF5Examples/FORTRAN/H5T/test.sh.in217
1 files changed, 217 insertions, 0 deletions
diff --git a/HDF5Examples/FORTRAN/H5T/test.sh.in b/HDF5Examples/FORTRAN/H5T/test.sh.in
new file mode 100755
index 0000000..368b75a
--- /dev/null
+++ b/HDF5Examples/FORTRAN/H5T/test.sh.in
@@ -0,0 +1,217 @@
+#! /bin/sh
+#
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5. The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html. COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page. It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
+# access to either file, you may request a copy from help@hdfgroup.org.
+
+srcdir=@srcdir@
+
+
+case $FC in
+*/*) H5DUMP=`echo $FC | sed -e 's/\/[^/]*$/\/h5dump/'`;
+ test -x $H5DUMP || H5DUMP=h5dump;;
+*) H5DUMP=h5dump;;
+esac
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ;;
+ *) ECHO_N= ECHO_C='\c' ;;
+esac
+ECHO_N="echo $ECHO_N"
+
+
+exout() {
+ $*
+}
+
+dumpout() {
+ $H5DUMP $*
+}
+
+# compare current version, required version.
+# returns if cur_ver < req_ver is true.
+version_compare() {
+ version_lt=0
+ if [ ! "$(printf '%s\n' "$1" "$2" | sort -V | head -n1)" = "$2" ]; then
+ version_lt=1
+ fi
+}
+
+H5_LIBVER=@H5_LIBVER@
+H5_LIBVER_DIR=@H5_LIBVER_DIR@
+FORTRAN_2003_CONDITIONAL_F="@FORTRAN_2003_CONDITIONAL_F@"
+
+topics="vlstring"
+
+if [ "$FORTRAN_2003_CONDITIONAL_F" = "Xyes" ]; then
+ topics="arrayatt_F03 array_F03 bitatt_F03 bit_F03 cmpdatt_F03 cmpd_F03 \
+ Cstring_F03 enumatt_F03 enum_F03 floatatt_F03 float_F03 \
+ intatt_F03 int_F03 opaqueatt_F03 opaque_F03 \
+ string_F03 $topics"
+fi
+
+return_val=0
+
+for topic in $topics
+do
+ fname=h5ex_t_$topic
+ $ECHO_N "Testing FORTRAN/H5T/$fname...$ECHO_C"
+ exout ./$fname >tmp.test
+ cmp -s tmp.test $srcdir/tfiles/18/$fname.tst
+ status=$?
+ if test $status -ne 0
+ then
+ echo " FAILED!"
+ else
+ if [[ $fname == "h5ex_t_cpxcmpd_F03" || $fname == "h5ex_t_cpxcmpdatt_F03" ]]
+ then
+ targ="-n"
+ else
+ targ=""
+ fi
+ dumpout $targ $fname.h5 >tmp.test
+ rm -f $fname.h5
+ cmp -s tmp.test $srcdir/tfiles/18/$fname.ddl
+ status=$?
+ if test $status -ne 0
+ then
+ echo " FAILED!"
+ else
+ echo " Passed"
+ fi
+ fi
+ return_val=`expr $status + $return_val`
+done
+
+
+#######Non-standard tests#######
+
+USE_ALT=""
+if [ "$H5_LIBVER_DIR" = "110" ]; then
+ # check if HDF5 version is < 1.10.7
+ version_compare "$H5_LIBVER" "1.10.7"
+ if [ "$version_lt" = 1 ]; then
+ USE_ALT="06"
+ fi
+else
+ if [ "$H5_LIBVER_DIR" = "18" ]; then
+ # check if HDF5 version is < 1.8.22
+ version_compare "$H5_LIBVER" "1.8.22"
+ if [ "$version_lt" = 1 ]; then
+ USE_ALT="21"
+ fi
+ fi
+fi
+
+if [ "$FORTRAN_2003_CONDITIONAL_F" = "Xyes" ]; then
+ topics="objrefatt_F03 objref_F03 regrefatt_F03 regref_F03"
+else
+ topics=""
+fi
+
+for topic in $topics
+do
+ fname=h5ex_t_$topic
+ $ECHO_N "Testing FORTRAN/H5T/$fname...$ECHO_C"
+ exout ./$fname >tmp.test
+ cmp -s tmp.test $srcdir/tfiles/18/$fname.tst
+ status=$?
+ if test $status -ne 0
+ then
+ echo " FAILED!"
+ else
+ dumpout $fname.h5 >tmp.test
+ rm -f $fname.h5
+ version_compare "$H5_LIBVER" "1.10.0"
+ if [ "$version_lt" = 1 ]; then
+ cmp -s tmp.test $srcdir/tfiles/18/$fname$USE_ALT.ddl
+ else
+ version_compare "$H5_LIBVER" "1.12.0"
+ if [ "$version_lt" = 1 ]; then
+ version_compare "$H5_LIBVER" "1.10.7"
+ if [ "$version_lt" = 1 ]; then
+ cmp -s tmp.test $srcdir/tfiles/110/$fname$USE_ALT.ddl
+ else
+ cmp -s tmp.test $srcdir/tfiles/18/$fname.ddl
+ fi
+ else
+ cmp -s tmp.test $srcdir/tfiles/112/$fname.ddl
+ fi
+ fi
+ status=$?
+ if test $status -ne 0
+ then
+ echo " FAILED!"
+ else
+ echo " Passed"
+ fi
+ fi
+ return_val=`expr $status + $return_val`
+done
+
+topics=""
+version_compare "$H5_LIBVER" "1.10.0"
+if [ "$version_lt" = 0 ]; then
+ topics=" vlenatt_F03 vlen_F03"
+fi
+
+for topic in $topics
+do
+ fname=h5ex_t_$topic
+ $ECHO_N "Testing C/H5T/$fname...$ECHO_C"
+ exout ./$fname >tmp.test
+ cmp -s tmp.test $srcdir/tfiles/18/$fname.tst
+ status=$?
+ if test $status -ne 0
+ then
+ echo " FAILED!"
+ else
+ dumpout $fname.h5 >tmp.test
+ rm -f $fname.h5
+ version_compare "$H5_LIBVER" "1.14.3"
+ if [ "$version_lt" = 1 ]; then
+ cmp -s tmp.test $srcdir/tfiles/18/$fname.ddl
+ else
+ cmp -s tmp.test $srcdir/tfiles/114/$fname.ddl
+ fi
+ status=$?
+ if test $status -ne 0
+ then
+ echo " FAILED!"
+ else
+ echo " Passed"
+ fi
+ fi
+ return_val=`expr $status + $return_val`
+done
+
+
+#fname=h5ex_t_convert
+#$ECHO_N "Testing FORTRAN/H5T/$fname...$ECHO_C"
+#exout ./$fname >tmp.test
+#cmp -s tmp.test $srcdir/tfiles/18/$fname.test
+#status=$?
+#if test $status -ne 0
+#then
+# echo " FAILED!"
+#else
+# echo " Passed"
+#fi
+#return_val=`expr $status + $return_val`
+
+
+rm -f tmp.test
+echo "$return_val tests failed in /FORTRAN/H5T/"
+exit $return_val