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