66 lines
1.2 KiB
Bash
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
|