Home | History | Annotate | Line # | Download | only in ipf
t_nat_exec.sh revision 1.13
      1  1.13  pgoyette # $NetBSD: t_nat_exec.sh,v 1.13 2012/12/02 08:52:06 pgoyette Exp $
      2   1.1      jmmv #
      3   1.1      jmmv # Copyright (c) 2008, 2010 The NetBSD Foundation, Inc.
      4   1.1      jmmv # All rights reserved.
      5   1.1      jmmv #
      6   1.1      jmmv # Redistribution and use in source and binary forms, with or without
      7   1.1      jmmv # modification, are permitted provided that the following conditions
      8   1.1      jmmv # are met:
      9   1.1      jmmv # 1. Redistributions of source code must retain the above copyright
     10   1.1      jmmv #    notice, this list of conditions and the following disclaimer.
     11   1.1      jmmv # 2. Redistributions in binary form must reproduce the above copyright
     12   1.1      jmmv #    notice, this list of conditions and the following disclaimer in the
     13   1.1      jmmv #    documentation and/or other materials provided with the distribution.
     14   1.1      jmmv #
     15   1.1      jmmv # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
     16   1.1      jmmv # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
     17   1.1      jmmv # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     18   1.1      jmmv # PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
     19   1.1      jmmv # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     20   1.1      jmmv # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     21   1.1      jmmv # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     22   1.1      jmmv # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     23   1.1      jmmv # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     24   1.1      jmmv # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     25   1.1      jmmv # POSSIBILITY OF SUCH DAMAGE.
     26   1.1      jmmv #
     27   1.1      jmmv #
     28   1.1      jmmv # (C)opyright 1993-1996 by Darren Reed.
     29   1.1      jmmv #
     30   1.1      jmmv # See the IPFILTER.LICENCE file for details on licencing.
     31   1.1      jmmv #
     32   1.1      jmmv 
     33   1.2      jmmv nattest()
     34   1.1      jmmv {
     35   1.1      jmmv 	h_copydata $1
     36   1.8  pgoyette 	infmt=$2
     37   1.8  pgoyette 	outfmt=$3
     38   1.8  pgoyette 	shift
     39   1.8  pgoyette 	shift
     40   1.8  pgoyette 	shift
     41   1.8  pgoyette 	args=$@
     42   1.1      jmmv 
     43   1.8  pgoyette 	if [ $outfmt = hex ] ; then
     44   1.8  pgoyette 		format="-xF $infmt"
     45   1.1      jmmv 	else
     46   1.8  pgoyette 		format="-F $infmt"
     47   1.1      jmmv 	fi
     48   1.1      jmmv 
     49   1.8  pgoyette 	format="$format"
     50   1.1      jmmv 
     51  1.12  pgoyette 	test -f in  && test -f reg || atf_fail "Test input file missing"
     52  1.12  pgoyette 
     53   1.1      jmmv 	{ while read rule; do
     54   1.1      jmmv 		atf_check -o save:save -x \
     55  1.10  pgoyette 		    "echo \"$rule\" | ipftest $format -RDbN - -i in $args"
     56   1.1      jmmv 		cat save >>out
     57   1.1      jmmv 		echo "-------------------------------" >>out
     58   1.1      jmmv 	done; } <reg
     59   1.1      jmmv 
     60   1.1      jmmv 	diff -u exp out || atf_fail "results differ"
     61   1.1      jmmv }
     62   1.1      jmmv 
     63  1.10  pgoyette test_case n1 nattest text text
     64  1.10  pgoyette test_case n2 nattest text text
     65  1.10  pgoyette test_case n3 nattest text text
     66  1.10  pgoyette test_case n4 nattest text text
     67  1.10  pgoyette test_case n5 nattest text text
     68  1.10  pgoyette test_case n6 nattest text text
     69  1.10  pgoyette test_case n7 nattest text text
     70  1.10  pgoyette test_case n8 nattest hex hex -T update_ipid=0
     71  1.10  pgoyette test_case n9 nattest hex hex -T update_ipid=0
     72  1.10  pgoyette test_case n10 nattest hex hex -T update_ipid=0
     73  1.10  pgoyette test_case n11 nattest text text
     74  1.10  pgoyette test_case n12 nattest hex hex -T update_ipid=0 -v
     75  1.10  pgoyette test_case n13 nattest text text
     76  1.10  pgoyette test_case n14 nattest text text
     77  1.10  pgoyette test_case n15 nattest text text -T update_ipid=0
     78   1.1      jmmv test_case n16 nattest hex hex -D
     79   1.1      jmmv test_case n17 nattest hex hex -D
     80  1.10  pgoyette test_case n100 nattest text text
     81  1.10  pgoyette test_case n101 nattest text text
     82  1.10  pgoyette test_case n102 nattest text text
     83  1.10  pgoyette test_case n103 nattest text text
     84  1.10  pgoyette test_case n104 nattest hex hex -T update_ipid=0
     85  1.10  pgoyette test_case n105 nattest hex hex -T update_ipid=0
     86  1.10  pgoyette test_case n106 nattest hex hex -T update_ipid=0
     87  1.10  pgoyette test_case n200 nattest hex hex -T update_ipid=0
     88  1.10  pgoyette test_case n1_6 nattest text text -6
     89  1.10  pgoyette test_case n2_6 nattest text text -6
     90  1.13  pgoyette #test_case n3_6 nattest text text -6
     91  1.10  pgoyette test_case n4_6 nattest text text -6
     92  1.10  pgoyette test_case n5_6 nattest text text -6
     93  1.10  pgoyette test_case n6_6 nattest text text -6
     94  1.10  pgoyette test_case n7_6 nattest text text -6
     95  1.10  pgoyette test_case n8_6 nattest hex hex -6
     96  1.10  pgoyette test_case n9_6 nattest hex hex -6
     97  1.10  pgoyette test_case n11_6 nattest text text -6
     98  1.10  pgoyette test_case n12_6 nattest hex hex -6
     99  1.10  pgoyette test_case n15_6 nattest text text -6
    100  1.12  pgoyette failing_test_case n17_6 nattest "Test golden output file missing" hex hex -6
    101   1.1      jmmv 
    102   1.1      jmmv atf_init_test_cases()
    103   1.1      jmmv {
    104   1.8  pgoyette 	atf_add_test_case n1
    105   1.8  pgoyette 	atf_add_test_case n2
    106   1.1      jmmv 	atf_add_test_case n3
    107   1.8  pgoyette 	atf_add_test_case n4
    108   1.8  pgoyette 	atf_add_test_case n5
    109   1.8  pgoyette 	atf_add_test_case n6
    110   1.1      jmmv 	atf_add_test_case n7
    111   1.1      jmmv 	atf_add_test_case n8
    112   1.1      jmmv 	atf_add_test_case n9
    113   1.1      jmmv 	atf_add_test_case n10
    114   1.8  pgoyette 	atf_add_test_case n11
    115   1.1      jmmv 	atf_add_test_case n12
    116   1.1      jmmv 	atf_add_test_case n13
    117   1.1      jmmv 	atf_add_test_case n14
    118   1.1      jmmv 	atf_add_test_case n16
    119   1.1      jmmv 	atf_add_test_case n17
    120   1.8  pgoyette 	atf_add_test_case n100
    121   1.8  pgoyette 	atf_add_test_case n101
    122   1.8  pgoyette 	atf_add_test_case n102
    123   1.8  pgoyette 	atf_add_test_case n103
    124   1.8  pgoyette 	atf_add_test_case n104
    125   1.8  pgoyette 	atf_add_test_case n105
    126   1.8  pgoyette 	atf_add_test_case n106
    127   1.8  pgoyette 	atf_add_test_case n200
    128   1.8  pgoyette 
    129   1.8  pgoyette 	atf_add_test_case n1_6
    130   1.8  pgoyette 	atf_add_test_case n2_6
    131  1.13  pgoyette #	atf_add_test_case n3_6
    132   1.8  pgoyette 	atf_add_test_case n4_6
    133   1.8  pgoyette 	atf_add_test_case n5_6
    134   1.8  pgoyette 	atf_add_test_case n6_6
    135   1.8  pgoyette 	atf_add_test_case n7_6
    136   1.8  pgoyette 	atf_add_test_case n8_6
    137   1.8  pgoyette 	atf_add_test_case n9_6
    138   1.8  pgoyette 	atf_add_test_case n11_6
    139   1.8  pgoyette 	atf_add_test_case n12_6
    140   1.8  pgoyette 	atf_add_test_case n15_6
    141   1.8  pgoyette 	atf_add_test_case n17_6
    142   1.3     pooka 
    143   1.1      jmmv }
    144