#!/bin/sh mode=$1 name=$2 input=$3 output=$4 shift if [ $output = hex ] ; then format="-xF $input" else format="-F $input" fi shift shift shift while [ $# -ge 1 ] ; do l=`echo $1 | cut -c1` if [ "$l" = "-" ] ; then format="$format $1" else format="-T $1 $format" fi shift done mkdir -p results if [ -f /usr/ucb/touch ] ; then TOUCH=/usr/ucb/touch else if [ -f /usr/bin/touch ] ; then TOUCH=/usr/bin/touch else if [ -f /bin/touch ] ; then TOUCH=/bin/touch fi fi fi case $mode in single) echo "$name..."; /bin/cp /dev/null results/$name ( while read rule; do echo "$rule" | ../ipftest -R $format -b -r regress/$name.ipf -N - -i input/$name >> \ results/$name; if [ $? -ne 0 ] ; then exit 1; fi echo "-------------------------------" >> results/$name done ) < regress/$name.nat cmp expected/$name results/$name status=$? if [ $status = 0 ] ; then $TOUCH $name fi ;; multi) echo "$name..."; /bin/cp /dev/null results/$name ../ipftest -R $format -b -r regress/$name.ipf -N regress/$name.nat \ -i input/$name >> results/$name; if [ $? -ne 0 ] ; then exit 2; fi echo "-------------------------------" >> results/$name cmp expected/$name results/$name status=$? if [ $status = 0 ] ; then $TOUCH $name fi ;; esac exit $status