#!/bin/sh
# HDF Utilities Test script
# Usage: testutil.sh [machine-type]
srcdir=@srcdir@
machinetype="$1"
# Check if target machine supports 32 bits datatype.
# "true" is TRUE; "" means FALSE.
case $machinetype in
*unicos*) has32="";;
*) has32="true";;
esac
# initialize errors variable
errors=0
haserr=0
# setup hdfed command which is used often
HDFED='../../hdf/util/hdfed'
HDFLS='../../hdf/util/hdfls'
HDFEDCMD="$HDFED -batch" # use -batch mode for no prompt
SED="sed -e /library/,/String/d" # filter out the library version
echo ""
echo "=============================="
echo "HDFIMPORT tests started"
echo "=============================="
if [ -f hdfimport -a -f hdfimporttest ]; then
echo "** Testing hdfimport ***"
/bin/rm -f ctxt* cb* *.hdf hdfls.tmp5 hdfed.tmp6
./hdfimporttest
echo "Testing for 32-bit floating point ASCII (2D data)"
./hdfimport ctxtr2 -o ctxtr2.hdf
echo "Testing for 32-bit floating point ASCII (3D data)"
./hdfimport ctxtr3 -o ctxtr3.hdf
echo "Testing for 32-bit integer binary (2D data)"
./hdfimport cb32i2 -o cb32i2.hdf
echo "Testing for 32-bit integer binary (3D data)"
./hdfimport cb32i3 -o cb32i3.hdf
echo "Testing for 16-bit integer binary (2D data)"
./hdfimport cb16i2 -o cb16i2.hdf
echo "Testing for 16-bit integer (3D data)"
./hdfimport cb16i3 -o cb16i3.hdf
echo "Testing for 32-bit floating point binary (2D data)"
./hdfimport cb32r2 -o cb32r2.hdf
echo "Testing for 32-bit floating point binary (3D data)"
./hdfimport cb32r3 -o cb32r3.hdf
echo "Testing for 64-bit floating point binary (2D data) - Default Behaviour (Conversion to 32 bit FP SDS)"
./hdfimport cb64r2 -o cb64r2.hdf
echo "Testing for 64-bit floating point binary (3D data) - Default Behaviour (Conversion to 32-bit FP SDS)"
./hdfimport cb64r3 -o cb64r3.hdf
echo "Testing for 64-bit floating point binary (2D data) - Conversion to 64-bit FP SDS"
./hdfimport cb64r2 -n -o cb64r2-n.hdf
echo "Testing for 64-bit floating point binary (3D data) - Conversion to 64-bit FP SDS"
./hdfimport cb64r3 -n -o cb64r3-n.hdf
echo "Testing for raster options"
./hdfimport ctxtr2 -o ctxtr2_ris.hdf -raster -e 50 50
./hdfimport cb64r2 -o cb64r2_ris.hdf -raster -i 50 50 -f
($HDFLS -l ctxtr2.hdf | $SED) > hdfls.tmp5 2>&1
($HDFLS -l ctxtr3.hdf | $SED) >> hdfls.tmp5 2>&1
($HDFLS -l cb32i2.hdf | $SED) >> hdfls.tmp5 2>&1
($HDFLS -l cb32i3.hdf | $SED) >> hdfls.tmp5 2>&1
($HDFLS -l cb16i2.hdf | $SED) >> hdfls.tmp5 2>&1
($HDFLS -l cb16i3.hdf | $SED) >> hdfls.tmp5 2>&1
($HDFLS -l cb32r2.hdf | $SED) >> hdfls.tmp5 2>&1
($HDFLS -l cb32r3.hdf | $SED) >> hdfls.tmp5 2>&1
($HDFLS -l cb64r2.hdf | $SED) >> hdfls.tmp5 2>&1
($HDFLS -l cb64r3.hdf | $SED) >> hdfls.tmp5 2>&1
($HDFLS -l cb64r2-n.hdf | $SED) >> hdfls.tmp5 2>&1
($HDFLS -l cb64r3-n.hdf | $SED) >> hdfls.tmp5 2>&1
($HDFLS -l ctxtr2_ris.hdf | $SED) >> hdfls.tmp5 2>&1
($HDFLS -l cb64r2_ris.hdf | $SED) >> hdfls.tmp5 2>&1
diff hdfls.tmp5 $srcdir/hdfimport.out1 || errors=1
$HDFEDCMD < $srcdir/hdfimport.input1 > hdfed.tmp6 2>&1
diff hdfed.tmp6 $srcdir/hdfimport.out2 || errors=1
/bin/rm -f ctxt* cb* *.hdf hdfls.tmp5 hdfed.tmp6
#/bin/rm -f ctxt* cb* *.hdf
else
haserr=1
echo "** hdfimport or hdfimporttest not available ***"
fi
if [ $errors -eq 1 ]; then
haserr=1
echo " ********* NOTE ***************"
echo " hdfimport might have failed ***"
echo " The above errors could be formatting "
echo " problems which can be ignored "
echo " please run the following by hand to verify "
echo " "
echo " /bin/rm -f ctxtr* cb* *.hdf hdfls.tmp5 hdfed.tmp6"
echo " ./hdfimporttest "
echo " ./hdfimport ctxtr2 -o ctxtr2.hdf "
echo " ./hdfimport ctxtr3 -o ctxtr3.hdf "
echo " ./hdfimport cb32i2 -o cb32i2.hdf "
echo " ./hdfimport cb32i3 -o cb32i3.hdf "
echo " ./hdfimport cb16i2 -o cb16i2.hdf "
echo " ./hdfimport cb16i3 -o cb16i3.hdf "
echo " ./hdfimport cb32r2 -o cb32r2.hdf "
echo " ./hdfimport cb32r3 -o cb32r3.hdf "
echo " ./hdfimport cb64r2 -o cb64r2.hdf "
echo " ./hdfimport cb64r3 -o cb64r3.hdf "
echo " ./hdfimport cb64r2 -n -o cb64r2-n.hdf "
echo " ./hdfimport cb64r3 -n -o cb64r3-n.hdf "
echo " ./hdfimport ctxtr2 -o ctxtr2_ris.hdf -raster -e 50 50 "
echo " ./hdfimport cb64r2 -o cb64r2_ris.hdf -raster -i 50 50 -f "
echo "($HDFLS -l ctxtr2.hdf | $SED) >& hdfls.tmp5 "
echo "($HDFLS -l ctxtr3.hdf | $SED) >>& hdfls.tmp5 "
echo "($HDFLS -l cb32i2.hdf | $SED) >> hdfls.tmp5 2>&1 "
echo "($HDFLS -l cb32i3.hdf | $SED) >> hdfls.tmp5 2>&1 "
echo "($HDFLS -l cb16i2.hdf | $SED) >> hdfls.tmp5 2>&1 "
echo "($HDFLS -l cb16i3.hdf | $SED) >> hdfls.tmp5 2>&1 "
echo "($HDFLS -l cb32r2.hdf | $SED) >>& hdfls.tmp5 "
echo "($HDFLS -l cb32r3.hdf | $SED) >>& hdfls.tmp5 "
echo "($HDFLS -l cb64r2.hdf | $SED) >>& hdfls.tmp5 "
echo "($HDFLS -l cb64r3.hdf | $SED) >>& hdfls.tmp5 "
echo "($HDFLS -l cb64r2-n.hdf | $SED) >> hdfls.tmp5 2>&1 "
echo "($HDFLS -l cb64r3-n.hdf | $SED) >> hdfls.tmp5 2>&1 "
echo "($HDFLS -l ctxtr2_ris.hdf | $SED) >>& hdfls.tmp5 "
echo "($HDFLS -l cb64r2_ris.hdf | $SED) >>& hdfls.tmp5 "
echo " diff hdfls.tmp5 hdfimport.out1 "
echo " $HDFEDCMD < hdfimport.input1 >& hdfed.tmp6 "
echo " diff hdfed.tmp6 hdfimport.out2 "
echo " ******* END NOTE *************"
echo ""
errors=0
fi
#
# Check errors result
if [ $haserr -eq 0 ]; then
echo "================================="
echo "HDFIMPORT Utilities tests passed."
echo "================================="
else
echo "*********************************************"
echo "HDFIMPORT Utilities tests encountered errors"
echo "*********************************************"
fi
echo ""
exit $haserr
syntax highlighted by Code2HTML, v. 0.9.1