NetBSD/regress/sys/kern/ipf/natipftest
2004-07-23 05:39:03 +00:00

66 lines
1.2 KiB
Bash

#!/bin/sh
#
# $NetBSD: natipftest,v 1.3 2004/07/23 05:39:04 martti Exp $
#
TESTDIR=$1
shift
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 -bx -r ${TESTDIR}/regress/$1.ipf -N - -i ${TESTDIR}/input/$1 >> \
results/$1;
if [ $? -ne 0 ] ; then
exit 1;
fi
echo "-------------------------------" >> results/$1
done ) < ${TESTDIR}/regress/$1.nat
cmp ${TESTDIR}/expected/$1 results/$1
status=$?
if [ $status = 0 ] ; then
$TOUCH $1
fi
;;
multi)
echo "$1...";
/bin/cp /dev/null results/$1
ipftest -R $format -bx -r ${TESTDIR}/regress/$1.ipf -N ${TESTDIR}/regress/$1.nat \
-i ${TESTDIR}/input/$1 >> results/$1;
if [ $? -ne 0 ] ; then
exit 2;
fi
echo "-------------------------------" >> results/$1
cmp ${TESTDIR}/expected/$1 results/$1
status=$?
if [ $status = 0 ] ; then
$TOUCH $1
fi
;;
esac
exit $status