xref: /netbsd-src/tests/ipf/t_nat_exec.sh (revision ead2c0eee3abe6bcf08c63bfc78eb8a93a579b2b)
1# $NetBSD: t_nat_exec.sh,v 1.6 2012/02/15 17:55:24 riz 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
33nattest()
34{
35	h_copydata $1
36
37	if [ $3 = hex ] ; then
38		format="-xF $2"
39	else
40		format="-F $2"
41	fi
42
43	format="$4 $5 $format"
44
45	{ while read rule; do
46		atf_check -o save:save -x \
47		    "echo \"$rule\" | ipftest $format -RbN - -i in"
48		cat save >>out
49		echo "-------------------------------" >>out
50	done; } <reg
51
52	diff -u exp out || atf_fail "results differ"
53}
54
55#broken_test_case n1 nattest text text
56#broken_test_case n2 nattest text text
57test_case n3 nattest text text
58#broken_test_case n4 nattest text text
59#broken_test_case n5 nattest text text
60#broken_test_case n6 nattest text text
61test_case n7 nattest text text
62test_case n8 nattest hex hex -T fr_update_ipid=0
63test_case n9 nattest hex hex -T fr_update_ipid=0
64test_case n10 nattest hex hex -T fr_update_ipid=0
65#broken_test_case n11 nattest text text
66test_case n12 nattest hex hex -T fr_update_ipid=0
67test_case n13 nattest text text
68test_case n14 nattest text text
69test_case n16 nattest hex hex -D
70test_case n17 nattest hex hex -D
71
72atf_init_test_cases()
73{
74	atf_add_test_case n3
75	atf_add_test_case n7
76	atf_add_test_case n8
77	atf_add_test_case n9
78	atf_add_test_case n10
79	atf_add_test_case n12
80	atf_add_test_case n13
81	atf_add_test_case n14
82	atf_add_test_case n16
83	atf_add_test_case n17
84
85	#atf_add_test_case n1
86	#atf_add_test_case n2
87	#atf_add_test_case n4
88	#atf_add_test_case n5
89	#atf_add_test_case n6
90	#atf_add_test_case n11
91}
92