60 lines
1.1 KiB
Bash
Executable File
60 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
mode=$1
|
|
shift
|
|
if [ $3 = hex ] ; then
|
|
format="-xF $2"
|
|
else
|
|
format="-F $2"
|
|
fi
|
|
if [ "$4" != "" ] ; then
|
|
format="-T $4 $format"
|
|
fi
|
|
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 "$1...";
|
|
/bin/cp /dev/null results/$1
|
|
( while read rule; do
|
|
echo "$rule" | ../ipftest -R $format -b -r regress/$1.ipf -N - -i input/$1 >> \
|
|
results/$1;
|
|
if [ $? -ne 0 ] ; then
|
|
exit 1;
|
|
fi
|
|
echo "-------------------------------" >> results/$1
|
|
done ) < regress/$1.nat
|
|
cmp expected/$1 results/$1
|
|
status=$?
|
|
if [ $status = 0 ] ; then
|
|
$TOUCH $1
|
|
fi
|
|
;;
|
|
multi)
|
|
echo "$1...";
|
|
/bin/cp /dev/null results/$1
|
|
../ipftest -R $format -b -r regress/$1.ipf -N regress/$1.nat \
|
|
-i input/$1 >> results/$1;
|
|
if [ $? -ne 0 ] ; then
|
|
exit 2;
|
|
fi
|
|
echo "-------------------------------" >> results/$1
|
|
cmp expected/$1 results/$1
|
|
status=$?
|
|
if [ $status = 0 ] ; then
|
|
$TOUCH $1
|
|
fi
|
|
;;
|
|
esac
|
|
exit $status
|