xref: /minix3/external/bsd/bind/dist/bin/tests/system/rrchecker/tests.sh (revision 00b67f09dd46474d133c95011a48590a8e8f94c7)
1#!/bin/sh
2#
3# Copyright (C) 2013, 2014  Internet Systems Consortium, Inc. ("ISC")
4#
5# Permission to use, copy, modify, and/or distribute this software for any
6# purpose with or without fee is hereby granted, provided that the above
7# copyright notice and this permission notice appear in all copies.
8#
9# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
10# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11# AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
12# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15# PERFORMANCE OF THIS SOFTWARE.
16
17SYSTEMTESTTOP=..
18. $SYSTEMTESTTOP/conf.sh
19
20status=0
21t=0
22
23echo "I:class list"
24$RRCHECKER -C > classlist.out
25diff classlist.out classlist.good || { echo "I:failed"; status=`expr $status + 1`; }
26
27echo "I:type list"
28$RRCHECKER -T > typelist.out
29diff typelist.out typelist.good || { echo "I:failed"; status=`expr $status + 1`; }
30
31echo "I:private type list"
32$RRCHECKER -P > privatelist.out
33diff privatelist.out privatelist.good || { echo "I:failed"; status=`expr $status + 1`; }
34
35myecho() {
36cat << EOF
37$*
38EOF
39}
40
41ret=0
42$SHELL ../genzone.sh 0 > tempzone
43$CHECKZONE -Dq . tempzone | sed '/^;/d' |
44while read -r n tt cl ty rest
45do
46 	myecho "$cl $ty $rest" | $RRCHECKER -p > checker.out || {
47		ret=1;
48		echo "I: '$cl $ty $rest' not handled.";
49	}
50	read -r cl0 ty0 rest0 < checker.out
51	test "$cl $ty $rest" = "$cl0 $ty0 $rest0" || {
52		ret=1;
53		echo "I: '$cl $ty $rest' != '$cl0 $ty0 $rest0'";
54	}
55done
56test $ret -eq 0 || { echo "I:failed"; status=`expr $status + 1`; }
57
58echo "I:exit status: $status"
59exit $status
60