1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
|
#!/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="${TESTS_ENVIRONMENT} ../../hdf/util/hdfls"
HDFEDCMD="${TESTS_ENVIRONMENT} $HDFED -batch" # use -batch mode for no prompt
SED="sed -e /library/,/String/d" # filter out the library version
TESTCMD="${TESTS_ENVIRONMENT} ./hdfimport" # The test command
echo ""
echo "=============================="
echo "HDFIMPORT tests started"
echo "=============================="
if [ -f hdfimport -a -f hdfimporttest ]; then
echo "** Testing hdfimport ***"
# use [!S] to prevent SDSfloat2.hdf and SDSfloat3.hdf from being deleted;
# please replace with better solution, one is if available. - BMR (2006/9/23)
/bin/rm -f ctxt* cb* [!S]*.hdf *.out hdfls.tmp5 hdfed.tmp6 hdffiles.tmp
${TESTS_ENVIRONMENT} ./hdfimporttest
echo "Testing for 32-bit floating point ASCII (2D data)"
$TESTCMD ctxtr2 -o ctxtr2.hdf
echo "Testing for 32-bit floating point ASCII (3D data)"
$TESTCMD ctxtr3 -o ctxtr3.hdf
echo "Testing for 32-bit integer binary (2D data)"
$TESTCMD cb32i2 -o cb32i2.hdf
echo "Testing for 32-bit integer binary (3D data)"
$TESTCMD cb32i3 -o cb32i3.hdf
echo "Testing for 16-bit integer binary (2D data)"
$TESTCMD cb16i2 -o cb16i2.hdf
echo "Testing for 16-bit integer (3D data)"
$TESTCMD cb16i3 -o cb16i3.hdf
echo "Testing for 32-bit floating point binary (2D data)"
$TESTCMD cb32r2 -o cb32r2.hdf
echo "Testing for 32-bit floating point binary (3D data)"
$TESTCMD cb32r3 -o cb32r3.hdf
echo "Testing for 64-bit floating point binary (2D data) - Default Behaviour (Conversion to 32 bit FP SDS)"
$TESTCMD cb64r2 -o cb64r2.hdf
echo "Testing for 64-bit floating point binary (3D data) - Default Behaviour (Conversion to 32-bit FP SDS)"
$TESTCMD cb64r3 -o cb64r3.hdf
echo "Testing for 64-bit floating point binary (2D data) - Conversion to 64-bit FP SDS"
$TESTCMD cb64r2 -n -o cb64r2-n.hdf
echo "Testing for 64-bit floating point binary (3D data) - Conversion to 64-bit FP SDS"
$TESTCMD cb64r3 -n -o cb64r3-n.hdf
echo "Testing for raster options"
$TESTCMD ctxtr2 -o ctxtr2_ris.hdf -raster -e 50 50
$TESTCMD cb64r2 -o cb64r2_ris.hdf -raster -i 50 50 -f
# test with hdf files
echo "Testing for reading from hdf files"
$TESTCMD $srcdir/SDSfloat2.hdf -o SDSfloat2.out
$TESTCMD $srcdir/SDSfloat3.hdf -o SDSfloat3.out
($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
# run hdfls on SDSfloat*.out, and remove the library version from the
# output for later checking agains original output - BMR (2006/9/7)
($HDFLS SDSfloat2.out | $SED) >> hdffiles.tmp 2>&1
($HDFLS SDSfloat3.out | $SED) >> hdffiles.tmp 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
# hdfimport.out3 contains output that hdfls previously generated
# from SDSfloat*.out with the library version removed - BMR (2006/9/7)
diff hdffiles.tmp $srcdir/hdfimport.out3 || errors=1
# use [!S] to prevent SDSfloat2.hdf and SDSfloat3.hdf from being deleted;
# please replace with a better solution, if one is available. - BMR (2006/9/23)
/bin/rm -f ctxt* cb* [!S]*.hdf *.out hdfls.tmp5 hdfed.tmp6 hdffiles.tmp
#/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 " ${TESTS_ENVIRONMENT} ./hdfimporttest "
echo " $TESTCMD ctxtr2 -o ctxtr2.hdf "
echo " $TESTCMD ctxtr3 -o ctxtr3.hdf "
echo " $TESTCMD cb32i2 -o cb32i2.hdf "
echo " $TESTCMD cb32i3 -o cb32i3.hdf "
echo " $TESTCMD cb16i2 -o cb16i2.hdf "
echo " $TESTCMD cb16i3 -o cb16i3.hdf "
echo " $TESTCMD cb32r2 -o cb32r2.hdf "
echo " $TESTCMD cb32r3 -o cb32r3.hdf "
echo " $TESTCMD cb64r2 -o cb64r2.hdf "
echo " $TESTCMD cb64r3 -o cb64r3.hdf "
echo " $TESTCMD cb64r2 -n -o cb64r2-n.hdf "
echo " $TESTCMD cb64r3 -n -o cb64r3-n.hdf "
echo " $TESTCMD ctxtr2 -o ctxtr2_ris.hdf -raster -e 50 50 "
echo " $TESTCMD cb64r2 -o cb64r2_ris.hdf -raster -i 50 50 -f "
echo " $TESTCMD SDSfloat2.hdf -o SDSfloat2.out "
echo " $TESTCMD SDSfloat3.hdf -o SDSfloat3.out "
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 "($HDFLS SDSfloat2.out | $SED) >> hdffiles.tmp 2>&1 "
echo "($HDFLS SDSfloat3.out | $SED) >> hdffiles.tmp 2>&1 "
echo " diff hdfls.tmp5 hdfimport.out1 "
echo " $HDFEDCMD < hdfimport.input1 >& hdfed.tmp6 "
echo " diff hdfed.tmp6 hdfimport.out2 "
echo " diff hdffiles.tmp hdfimport.out3 || errors=1 "
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
|