File: testutil.sh.in

package info (click to toggle)
libhdf4 4.2.10-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 25,488 kB
  • ctags: 12,954
  • sloc: ansic: 146,962; sh: 14,905; fortran: 12,480; makefile: 922; yacc: 680; pascal: 418; lex: 170; csh: 41
file content (172 lines) | stat: -rwxr-xr-x 6,946 bytes parent folder | download | duplicates (5)
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