summaryrefslogtreecommitdiffstats
path: root/test/natipftest
diff options
context:
space:
mode:
Diffstat (limited to 'test/natipftest')
-rwxr-xr-xtest/natipftest71
1 files changed, 71 insertions, 0 deletions
diff --git a/test/natipftest b/test/natipftest
new file mode 100755
index 0000000..5776b42
--- /dev/null
+++ b/test/natipftest
@@ -0,0 +1,71 @@
+#!/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
OpenPOWER on IntegriCloud