Skip to content
Snippets Groups Projects
Commit d847f747 authored by Uwe Schulzweida's avatar Uwe Schulzweida
Browse files

added test/Arith.test

parent 5a55c5ac
No related branches found
No related tags found
No related merge requests found
......@@ -643,6 +643,7 @@ src/vinterp.h -text
src/yacc_lex -text
src/zaxis.c -text
test/.checklib_pyunittest -text
test/Arith.test.in -text
test/Cat.test.in -text
test/Copy_netcdf.test.in -text
test/Detrend.test.in -text
......
#! @SHELL@
echo 1..4 # Number of tests to be executed.
#
test -n "$CDO" || CDO=cdo
test -n "$DATAPATH" || DATAPATH=./data
#
CDOOUT=cout
CDOERR=cerr
FORMAT="-f srv -b 32"
STATS="add sub mul div"
#
IFILE=$DATAPATH/pl_data
NTEST=1
#
for STAT in $STATS; do
RSTAT=0
OFILE=stat${STAT}_res
for VAR in -1000 -77 -1 0 1 77 1000; do
VAL=1
CFILE=constval
$CDO -f srv -b 64 const,$VAL,$IFILE $CFILE
# stat var const
CDOTEST="$STAT"
CDOCOMMAND="$CDO $FORMAT ${STAT} $IFILE $CFILE $OFILE"
echo "Running test: $NTEST"
echo "$CDOCOMMAND"
$CDOCOMMAND
test $? -eq 0 || let RSTAT+=1
# stat,const var
OFILE2=stat${STAT}c_res
CDOCOMMAND="$CDO $FORMAT ${STAT}c,$VAL $IFILE $OFILE2"
$CDOCOMMAND
test $? -eq 0 || let RSTAT+=1
$CDO diff $OFILE $OFILE2 > $CDOOUT 2> $CDOERR
test $? -eq 0 || let RSTAT+=1
test -s $CDOOUT && let RSTAT+=1
cat $CDOOUT $CDOERR
# stat,const var
OP=""
if [ "$STAT" = add ] ; then OP='+' ; fi
if [ "$STAT" = sub ] ; then OP='-' ; fi
if [ "$STAT" = mul ] ; then OP='*' ; fi
if [ "$STAT" = div ] ; then OP='/' ; fi
OFILE3=expr${STAT}_res
INSTR="var130=var130${OP}${VAL};var152=var152${OP}${VAL};var129=var129${OP}${VAL};"
echo $INSTR
CDOCOMMAND="$CDO $FORMAT expr,$INSTR $IFILE $OFILE3"
$CDOCOMMAND
test $? -eq 0 || let RSTAT+=1
$CDO diff $OFILE $OFILE3 > $CDOOUT 2> $CDOERR
test $? -eq 0 || let RSTAT+=1
test -s $CDOOUT && let RSTAT+=1
cat $CDOOUT $CDOERR
rm -f $OFILE $OFILE2 $CFILE
done
test $RSTAT -eq 0 && echo "ok $NTEST - $CDOTEST"
test $RSTAT -eq 0 || echo "not ok $NTEST - $CDOTEST"
let NTEST+=1
done
#
rm -f $CDOOUT $CDOERR
#
exit 0
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment