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
|
#!/bin/sh
#set -x
PLATFORM=`uname`
VERBOSE=0
OPROG=funcone
NPROG=../funcone
STDIN=/dev/null
FILE=cat.txt
LIST="cat.ls"
# avoid setting EXTNAME since we are not using
if [ x$TEXT_EXTNAME != x ]; then
unset TEXT_EXTNAME
fi
if [ -r /usr/ucb/echo ]; then
ECHO=/usr/ucb/echo
else
ECHO=echo
fi
while [ x"$1" != x ]; do
case $1 in
-1)
DO1=YES
shift
continue;;
-n)
shift
NPROG=$1
shift
continue;;
-o)
shift
OPROG=$1
shift
continue;;
-P)
DO1=YES
NPROG=../funcone.pure
shift
continue;;
-v)
VERBOSE=1
shift
continue;;
-V)
VERBOSE=2
shift
continue;;
*)
shift
continue;;
esac
done
$ECHO "OPROG="${OPROG}
$ECHO "NPROG="${NPROG}
IFS=" "
while read ARG1 ARG2 ARG3 ARG4; do
if [ x"$ARG1" = x ]; then
continue
fi
if [ x`$ECHO $ARG1 | sed 's/^#.*/YES/g'` = x"YES" ]; then
continue
fi
CMD=$ARG1
if [ x$ARG3 = x ]; then
ARG3="$ARG2"
fi
case $CMD in
EXIT)
exit
;;
EXACT)
if [ x"$DO1" = xYES ]; then
$ECHO "${M}DO1: $ARG3"
eval "$NPROG $ARG3" | fundisp stdin > funcone2.out
else
$ECHO "${M}EXACT: $ARG2 ... $ARG3"
CMP=yes
XPROG=""
eval "$OPROG $ARG2" | fundisp stdin > tfuncone1.out
if test $? -ne 0; then
CMP=no
XPROG="$OPROG"
fi
eval "$NPROG $ARG3" | fundisp stdin > tfuncone2.out
if test $? -ne 0; then
CMP=no
XPROG="${XPROG:-}${XPROG:+' '}$NPROG"
fi
if [ x"$CMP" = xyes ]; then
if [ x"$ZBUG" = xtrue ]; then
sed "/^ *$X $Y.*$/d" < tfuncone1.out > funcone1.out
sed "/^ *$X $Y.*$/d" < tfuncone2.out > funcone2.out
else
mv tfuncone1.out funcone1.out
mv tfuncone2.out funcone2.out
fi
diff funcone1.out funcone2.out
else
$ECHO "skipping compare due to errors in $XPROG"
fi
fi
$ECHO " "
;;
*)
$ECHO "ERROR: unknown command: $CMD"
exit 1
;;
esac
if [ $VERBOSE = 1 ]; then
$ECHO "***** funcone1.out *****"
cat funcone1.out
fi
if [ $VERBOSE = 2 ]; then
$ECHO "***** funcone1.out *****"
cat funcone1.out
$ECHO "***** funcone2.out *****"
cat funcone2.out
fi
rm -f err.log
done
rm -f funcone1.out funcone2.out tfuncone1.out tfuncone2.out
|