1272343Sngie# $NetBSD: t_nat_exec.sh,v 1.20 2014/07/15 20:00:23 martin Exp $
2272343Sngie#
3272343Sngie# Copyright (c) 2008, 2010 The NetBSD Foundation, Inc.
4272343Sngie# All rights reserved.
5272343Sngie#
6272343Sngie# Redistribution and use in source and binary forms, with or without
7272343Sngie# modification, are permitted provided that the following conditions
8272343Sngie# are met:
9272343Sngie# 1. Redistributions of source code must retain the above copyright
10272343Sngie#    notice, this list of conditions and the following disclaimer.
11272343Sngie# 2. Redistributions in binary form must reproduce the above copyright
12272343Sngie#    notice, this list of conditions and the following disclaimer in the
13272343Sngie#    documentation and/or other materials provided with the distribution.
14272343Sngie#
15272343Sngie# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
16272343Sngie# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17272343Sngie# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18272343Sngie# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
19272343Sngie# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20272343Sngie# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21272343Sngie# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22272343Sngie# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23272343Sngie# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24272343Sngie# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25272343Sngie# POSSIBILITY OF SUCH DAMAGE.
26272343Sngie#
27272343Sngie#
28272343Sngie# (C)opyright 1993-1996 by Darren Reed.
29272343Sngie#
30272343Sngie# See the IPFILTER.LICENCE file for details on licencing.
31272343Sngie#
32272343Sngie
33272343Sngienattest()
34272343Sngie{
35272343Sngie	h_copydata $1
36272343Sngie	infmt=$2
37272343Sngie	outfmt=$3
38272343Sngie	shift
39272343Sngie	shift
40272343Sngie	shift
41272343Sngie	args=$@
42272343Sngie
43272343Sngie	if [ $outfmt = hex ] ; then
44272343Sngie		format="-xF $infmt"
45272343Sngie	else
46272343Sngie		format="-F $infmt"
47272343Sngie	fi
48272343Sngie
49272343Sngie	format="$format"
50272343Sngie
51272343Sngie	test -f in  && test -f reg || atf_fail "Test input file missing"
52272343Sngie
53272343Sngie	{ while read rule; do
54272343Sngie		atf_check -o save:save -x \
55272343Sngie		    "echo \"$rule\" | ipftest $format -RDbN - -i in $args"
56272343Sngie		cat save >>out
57272343Sngie		echo "-------------------------------" >>out
58272343Sngie	done; } <reg
59272343Sngie
60272343Sngie	diff -u exp out || atf_fail "results differ"
61272343Sngie}
62272343Sngie
63272343Sngietest_case n1 nattest text text
64272343Sngietest_case n2 nattest text text
65272343Sngietest_case n3 nattest text text
66272343Sngietest_case n4 nattest text text
67272343Sngietest_case n5 nattest text text
68272343Sngietest_case n6 nattest text text
69272343Sngietest_case n7 nattest text text
70272343Sngietest_case n8 nattest hex hex -T update_ipid=0
71272343Sngietest_case n9 nattest hex hex -T update_ipid=0
72272343Sngietest_case n10 nattest hex hex -T update_ipid=0
73272343Sngietest_case n11 nattest text text
74272343Sngiefailing_test_case n12 nattest "Known to be broken" hex hex -T update_ipid=0 -v
75272343Sngietest_case n13 nattest text text
76272343Sngiefailing_test_case_be n14 nattest "See PR kern/47665" text text
77272343Sngietest_case n15 nattest text text -T update_ipid=0
78272343Sngietest_case n16 nattest hex hex -D
79272343Sngietest_case n17 nattest hex hex -D
80272343Sngietest_case n100 nattest text text
81272343Sngietest_case n101 nattest text text
82272343Sngietest_case n102 nattest text text
83272343Sngietest_case n103 nattest text text
84272343Sngietest_case n104 nattest hex hex -T update_ipid=0
85272343Sngietest_case n105 nattest hex hex -T update_ipid=0
86272343Sngietest_case n106 nattest hex hex -T update_ipid=0
87272343Sngietest_case n200 nattest hex hex -T update_ipid=0
88272343Sngietest_case n1_6 nattest text text -6
89272343Sngietest_case n2_6 nattest text text -6
90272343Sngie#test_case n3_6 nattest text text -6
91272343Sngietest_case n4_6 nattest text text -6
92272343Sngietest_case n5_6 nattest text text -6
93272343Sngietest_case n6_6 nattest text text -6
94272343Sngietest_case n7_6 nattest text text -6
95272343Sngiefailing_test_case_be n8_6 nattest "See PR kern/47665" hex hex -6
96272343Sngiefailing_test_case_be n9_6 nattest "See PR kern/47665" hex hex -6
97272343Sngietest_case n11_6 nattest text text -6
98272343Sngietest_case n12_6 nattest hex hex -6
99272343Sngietest_case n15_6 nattest text text -6
100272343Sngie
101272343Sngieatf_init_test_cases()
102272343Sngie{
103272343Sngie	atf_add_test_case n1
104272343Sngie	atf_add_test_case n2
105272343Sngie	atf_add_test_case n3
106272343Sngie	atf_add_test_case n4
107272343Sngie	atf_add_test_case n5
108272343Sngie	atf_add_test_case n6
109272343Sngie	atf_add_test_case n7
110272343Sngie	atf_add_test_case n8
111272343Sngie	atf_add_test_case n9
112272343Sngie	atf_add_test_case n10
113272343Sngie	atf_add_test_case n11
114272343Sngie	atf_add_test_case n12
115272343Sngie	atf_add_test_case n13
116272343Sngie	atf_add_test_case n14
117272343Sngie	atf_add_test_case n16
118272343Sngie	atf_add_test_case n17
119272343Sngie	atf_add_test_case n100
120272343Sngie	atf_add_test_case n101
121272343Sngie	atf_add_test_case n102
122272343Sngie	atf_add_test_case n103
123272343Sngie	atf_add_test_case n104
124272343Sngie	atf_add_test_case n105
125272343Sngie	atf_add_test_case n106
126272343Sngie	atf_add_test_case n200
127272343Sngie
128272343Sngie	atf_add_test_case n1_6
129272343Sngie	atf_add_test_case n2_6
130272343Sngie#	atf_add_test_case n3_6
131272343Sngie	atf_add_test_case n4_6
132272343Sngie	atf_add_test_case n5_6
133272343Sngie	atf_add_test_case n6_6
134272343Sngie	atf_add_test_case n7_6
135272343Sngie	atf_add_test_case n8_6
136272343Sngie	atf_add_test_case n9_6
137272343Sngie	atf_add_test_case n11_6
138272343Sngie	atf_add_test_case n12_6
139272343Sngie	atf_add_test_case n15_6
140272343Sngie}
141