summaryrefslogtreecommitdiffstats
path: root/contrib/ipfilter/test/natipftest
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ipfilter/test/natipftest')
-rwxr-xr-xcontrib/ipfilter/test/natipftest55
1 files changed, 43 insertions, 12 deletions
diff --git a/contrib/ipfilter/test/natipftest b/contrib/ipfilter/test/natipftest
index 8627168..f5cfdb8 100755
--- a/contrib/ipfilter/test/natipftest
+++ b/contrib/ipfilter/test/natipftest
@@ -1,4 +1,15 @@
#!/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
@@ -10,19 +21,39 @@ else
fi
fi
fi
-echo "$1...";
-/bin/cp /dev/null results/$1
-( while read rule; do
- echo "$rule" | ../ipftest -bHx -r regress/$1.ipf -Nr - -i input/$1 >> \
- results/$1;
+
+case $mode in
+single)
+ echo "$1...";
+ /bin/cp /dev/null results/$1
+ ( while read rule; do
+ echo "$rule" | ../ipftest -R $format -bx -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 -bx -r regress/$1.ipf -N regress/$1.nat \
+ -i input/$1 >> results/$1;
if [ $? -ne 0 ] ; then
- exit 1;
+ exit 2;
fi
echo "-------------------------------" >> results/$1
-done ) < regress/$1.nat
-cmp expected/$1 results/$1
-status=$?
-if [ $status = 0 ] ; then
- $TOUCH $1
-fi
+ cmp expected/$1 results/$1
+ status=$?
+ if [ $status = 0 ] ; then
+ $TOUCH $1
+ fi
+ ;;
+esac
exit $status
OpenPOWER on IntegriCloud