]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/ipfilter/test/natipftest
This commit was generated by cvs2svn to compensate for changes in r162621,
[FreeBSD/FreeBSD.git] / contrib / ipfilter / test / natipftest
1 #!/bin/sh
2 mode=$1
3 shift
4 if [ $3 = hex ] ; then
5         format="-xF $2"
6 else
7         format="-F $2"
8 fi
9 if [ "$4" != "" ] ; then
10         format="-T $4 $format"
11 fi
12 mkdir -p results
13 if [ -f /usr/ucb/touch ] ; then
14         TOUCH=/usr/ucb/touch
15 else
16         if [ -f /usr/bin/touch ] ; then
17                 TOUCH=/usr/bin/touch
18         else
19                 if [ -f /bin/touch ] ; then
20                         TOUCH=/bin/touch
21                 fi
22         fi
23 fi
24
25 case $mode in
26 single)
27         echo "$1...";
28         /bin/cp /dev/null results/$1
29         ( while read rule; do
30                 echo "$rule" | ../ipftest -R $format -b -r regress/$1.ipf -N - -i input/$1 >> \
31                         results/$1;
32                 if [ $? -ne 0 ] ; then
33                         exit 1;
34                 fi
35                 echo "-------------------------------" >> results/$1
36         done ) < regress/$1.nat
37         cmp expected/$1 results/$1
38         status=$?
39         if [ $status = 0 ] ; then
40                 $TOUCH $1
41         fi
42         ;;
43 multi)
44         echo "$1...";
45         /bin/cp /dev/null results/$1
46         ../ipftest -R $format -b -r regress/$1.ipf -N regress/$1.nat \
47                 -i input/$1 >> results/$1;
48         if [ $? -ne 0 ] ; then
49                 exit 2;
50         fi
51         echo "-------------------------------" >> results/$1
52         cmp expected/$1 results/$1
53         status=$?
54         if [ $status = 0 ] ; then
55                 $TOUCH $1
56         fi
57         ;;
58 esac
59 exit $status