xref: /freebsd-src/contrib/netbsd-tests/ipf/t_nat_exec.sh (revision c22165b4f1f5d38b681921797a44b3ba8c13b7e0)
1*640235e2SEnji Cooper# $NetBSD: t_nat_exec.sh,v 1.22 2015/12/26 08:01:58 pgoyette Exp $
257718be8SEnji Cooper#
357718be8SEnji Cooper# Copyright (c) 2008, 2010 The NetBSD Foundation, Inc.
457718be8SEnji Cooper# All rights reserved.
557718be8SEnji Cooper#
657718be8SEnji Cooper# Redistribution and use in source and binary forms, with or without
757718be8SEnji Cooper# modification, are permitted provided that the following conditions
857718be8SEnji Cooper# are met:
957718be8SEnji Cooper# 1. Redistributions of source code must retain the above copyright
1057718be8SEnji Cooper#    notice, this list of conditions and the following disclaimer.
1157718be8SEnji Cooper# 2. Redistributions in binary form must reproduce the above copyright
1257718be8SEnji Cooper#    notice, this list of conditions and the following disclaimer in the
1357718be8SEnji Cooper#    documentation and/or other materials provided with the distribution.
1457718be8SEnji Cooper#
1557718be8SEnji Cooper# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
1657718be8SEnji Cooper# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
1757718be8SEnji Cooper# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1857718be8SEnji Cooper# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
1957718be8SEnji Cooper# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2057718be8SEnji Cooper# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2157718be8SEnji Cooper# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
2257718be8SEnji Cooper# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
2357718be8SEnji Cooper# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
2457718be8SEnji Cooper# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2557718be8SEnji Cooper# POSSIBILITY OF SUCH DAMAGE.
2657718be8SEnji Cooper#
2757718be8SEnji Cooper#
2857718be8SEnji Cooper# (C)opyright 1993-1996 by Darren Reed.
2957718be8SEnji Cooper#
3057718be8SEnji Cooper# See the IPFILTER.LICENCE file for details on licencing.
3157718be8SEnji Cooper#
3257718be8SEnji Cooper
3357718be8SEnji Coopernattest()
3457718be8SEnji Cooper{
3557718be8SEnji Cooper	h_copydata $1
3657718be8SEnji Cooper	infmt=$2
3757718be8SEnji Cooper	outfmt=$3
3857718be8SEnji Cooper	shift
3957718be8SEnji Cooper	shift
4057718be8SEnji Cooper	shift
4157718be8SEnji Cooper	args=$@
4257718be8SEnji Cooper
4357718be8SEnji Cooper	if [ $outfmt = hex ] ; then
4457718be8SEnji Cooper		format="-xF $infmt"
4557718be8SEnji Cooper	else
4657718be8SEnji Cooper		format="-F $infmt"
4757718be8SEnji Cooper	fi
4857718be8SEnji Cooper
4957718be8SEnji Cooper	format="$format"
5057718be8SEnji Cooper
5157718be8SEnji Cooper	test -f in  && test -f reg || atf_fail "Test input file missing"
5257718be8SEnji Cooper
5357718be8SEnji Cooper	{ while read rule; do
5457718be8SEnji Cooper		atf_check -o save:save -x \
5557718be8SEnji Cooper		    "echo \"$rule\" | ipftest $format -RDbN - -i in $args"
5657718be8SEnji Cooper		cat save >>out
5757718be8SEnji Cooper		echo "-------------------------------" >>out
5857718be8SEnji Cooper	done; } <reg
5957718be8SEnji Cooper
6057718be8SEnji Cooper	diff -u exp out || atf_fail "results differ"
6157718be8SEnji Cooper}
6257718be8SEnji Cooper
6357718be8SEnji Coopertest_case n1 nattest text text
6457718be8SEnji Coopertest_case n2 nattest text text
6557718be8SEnji Coopertest_case n3 nattest text text
6657718be8SEnji Coopertest_case n4 nattest text text
6757718be8SEnji Coopertest_case n5 nattest text text
6857718be8SEnji Coopertest_case n6 nattest text text
6957718be8SEnji Coopertest_case n7 nattest text text
7057718be8SEnji Coopertest_case n8 nattest hex hex -T update_ipid=0
7157718be8SEnji Coopertest_case n9 nattest hex hex -T update_ipid=0
7257718be8SEnji Coopertest_case n10 nattest hex hex -T update_ipid=0
7357718be8SEnji Coopertest_case n11 nattest text text
74*640235e2SEnji Coopertest_case n12 nattest hex hex -T update_ipid=0
7557718be8SEnji Coopertest_case n13 nattest text text
76*640235e2SEnji Coopertest_case n14 nattest text text
7757718be8SEnji Coopertest_case n15 nattest text text -T update_ipid=0
7857718be8SEnji Coopertest_case n16 nattest hex hex -D
7957718be8SEnji Coopertest_case n17 nattest hex hex -D
8057718be8SEnji Coopertest_case n100 nattest text text
8157718be8SEnji Coopertest_case n101 nattest text text
8257718be8SEnji Coopertest_case n102 nattest text text
8357718be8SEnji Coopertest_case n103 nattest text text
8457718be8SEnji Coopertest_case n104 nattest hex hex -T update_ipid=0
8557718be8SEnji Coopertest_case n105 nattest hex hex -T update_ipid=0
8657718be8SEnji Coopertest_case n106 nattest hex hex -T update_ipid=0
8757718be8SEnji Coopertest_case n200 nattest hex hex -T update_ipid=0
8857718be8SEnji Coopertest_case n1_6 nattest text text -6
8957718be8SEnji Coopertest_case n2_6 nattest text text -6
9057718be8SEnji Cooper#test_case n3_6 nattest text text -6
9157718be8SEnji Coopertest_case n4_6 nattest text text -6
9257718be8SEnji Coopertest_case n5_6 nattest text text -6
9357718be8SEnji Coopertest_case n6_6 nattest text text -6
9457718be8SEnji Coopertest_case n7_6 nattest text text -6
9557718be8SEnji Cooperfailing_test_case_be n8_6 nattest "See PR kern/47665" hex hex -6
9657718be8SEnji Cooperfailing_test_case_be n9_6 nattest "See PR kern/47665" hex hex -6
9757718be8SEnji Coopertest_case n11_6 nattest text text -6
9857718be8SEnji Coopertest_case n12_6 nattest hex hex -6
9957718be8SEnji Coopertest_case n15_6 nattest text text -6
10057718be8SEnji Cooper
10157718be8SEnji Cooperatf_init_test_cases()
10257718be8SEnji Cooper{
10357718be8SEnji Cooper	atf_add_test_case n1
10457718be8SEnji Cooper	atf_add_test_case n2
10557718be8SEnji Cooper	atf_add_test_case n3
10657718be8SEnji Cooper	atf_add_test_case n4
10757718be8SEnji Cooper	atf_add_test_case n5
10857718be8SEnji Cooper	atf_add_test_case n6
10957718be8SEnji Cooper	atf_add_test_case n7
11057718be8SEnji Cooper	atf_add_test_case n8
11157718be8SEnji Cooper	atf_add_test_case n9
11257718be8SEnji Cooper	atf_add_test_case n10
11357718be8SEnji Cooper	atf_add_test_case n11
11457718be8SEnji Cooper	atf_add_test_case n12
11557718be8SEnji Cooper	atf_add_test_case n13
11657718be8SEnji Cooper	atf_add_test_case n14
11757718be8SEnji Cooper	atf_add_test_case n16
11857718be8SEnji Cooper	atf_add_test_case n17
11957718be8SEnji Cooper	atf_add_test_case n100
12057718be8SEnji Cooper	atf_add_test_case n101
12157718be8SEnji Cooper	atf_add_test_case n102
12257718be8SEnji Cooper	atf_add_test_case n103
12357718be8SEnji Cooper	atf_add_test_case n104
12457718be8SEnji Cooper	atf_add_test_case n105
12557718be8SEnji Cooper	atf_add_test_case n106
12657718be8SEnji Cooper	atf_add_test_case n200
12757718be8SEnji Cooper
12857718be8SEnji Cooper	atf_add_test_case n1_6
12957718be8SEnji Cooper	atf_add_test_case n2_6
13057718be8SEnji Cooper#	atf_add_test_case n3_6
13157718be8SEnji Cooper	atf_add_test_case n4_6
13257718be8SEnji Cooper	atf_add_test_case n5_6
13357718be8SEnji Cooper	atf_add_test_case n6_6
13457718be8SEnji Cooper	atf_add_test_case n7_6
13557718be8SEnji Cooper	atf_add_test_case n8_6
13657718be8SEnji Cooper	atf_add_test_case n9_6
13757718be8SEnji Cooper	atf_add_test_case n11_6
13857718be8SEnji Cooper	atf_add_test_case n12_6
13957718be8SEnji Cooper	atf_add_test_case n15_6
14057718be8SEnji Cooper}
141