diff options
Diffstat (limited to 'bin/tests/system/rrchecker')
-rw-r--r-- | bin/tests/system/rrchecker/classlist.good | 3 | ||||
-rw-r--r-- | bin/tests/system/rrchecker/clean.sh | 15 | ||||
-rw-r--r-- | bin/tests/system/rrchecker/privatelist.good | 0 | ||||
-rw-r--r-- | bin/tests/system/rrchecker/tests.sh | 84 | ||||
-rw-r--r-- | bin/tests/system/rrchecker/typelist.good | 81 |
5 files changed, 183 insertions, 0 deletions
diff --git a/bin/tests/system/rrchecker/classlist.good b/bin/tests/system/rrchecker/classlist.good new file mode 100644 index 0000000..f0fff1a --- /dev/null +++ b/bin/tests/system/rrchecker/classlist.good @@ -0,0 +1,3 @@ +IN +CH +HS diff --git a/bin/tests/system/rrchecker/clean.sh b/bin/tests/system/rrchecker/clean.sh new file mode 100644 index 0000000..166247d --- /dev/null +++ b/bin/tests/system/rrchecker/clean.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# Copyright (C) Internet Systems Consortium, Inc. ("ISC") +# +# SPDX-License-Identifier: MPL-2.0 +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at https://mozilla.org/MPL/2.0/. +# +# See the COPYRIGHT file distributed with this work for additional +# information regarding copyright ownership. + +rm -f classlist.out privatelist.out typelist.out tempzone checkzone.out* checker.out +rm -f ns*/named.lock diff --git a/bin/tests/system/rrchecker/privatelist.good b/bin/tests/system/rrchecker/privatelist.good new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/bin/tests/system/rrchecker/privatelist.good diff --git a/bin/tests/system/rrchecker/tests.sh b/bin/tests/system/rrchecker/tests.sh new file mode 100644 index 0000000..7990e65 --- /dev/null +++ b/bin/tests/system/rrchecker/tests.sh @@ -0,0 +1,84 @@ +#!/bin/sh + +# Copyright (C) Internet Systems Consortium, Inc. ("ISC") +# +# SPDX-License-Identifier: MPL-2.0 +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at https://mozilla.org/MPL/2.0/. +# +# See the COPYRIGHT file distributed with this work for additional +# information regarding copyright ownership. + +SYSTEMTESTTOP=.. +. $SYSTEMTESTTOP/conf.sh + +status=0 +n=0 + +n=`expr $n + 1` +echo_i "class list ($n)" +$RRCHECKER -C > classlist.out +$DIFF classlist.out classlist.good || { echo_i "failed"; status=`expr $status + 1`; } + +n=`expr $n + 1` +echo_i "type list ($n)" +$RRCHECKER -T > typelist.out +$DIFF typelist.out typelist.good || { echo_i "failed"; status=`expr $status + 1`; } + +n=`expr $n + 1` +echo_i "private type list ($n)" +$RRCHECKER -P > privatelist.out +$DIFF privatelist.out privatelist.good || { echo_i "failed"; status=`expr $status + 1`; } + +myecho() { +cat << EOF +$* +EOF +} + +n=`expr $n + 1` +echo_i "check conversions to canonical format ($n)" +ret=0 +$SHELL ../genzone.sh 0 > tempzone +$CHECKZONE -Dq . tempzone | sed '/^;/d' > checkzone.out$n +while read -r name tt cl ty rest +do + myecho "$cl $ty $rest" | $RRCHECKER -p > checker.out || { + ret=1 + echo_i "'$cl $ty $rest' not handled." + } + read -r cl0 ty0 rest0 < checker.out + test "$cl $ty $rest" = "$cl0 $ty0 $rest0" || { + ret=1 + echo_i "'$cl $ty $rest' != '$cl0 $ty0 $rest0'" + } +done < checkzone.out$n +test $ret -eq 0 || { echo_i "failed"; status=`expr $status + 1`; } + +n=`expr $n + 1` +echo_i "check conversions to and from unknown record format ($n)" +ret=0 +$CHECKZONE -Dq . tempzone | sed '/^;/d' > checkzone.out$n +while read -r name tt cl ty rest +do + myecho "$cl $ty $rest" | $RRCHECKER -u > checker.out || { + ret=1 + echo_i "'$cl $ty $rest' not converted to unknown record format" + } + read -r clu tyu restu < checker.out + myecho "$clu $tyu $restu" | $RRCHECKER -p > checker.out || { + ret=1 + echo_i "'$cl $ty $rest' not converted back to canonical format" + } + read -r cl0 ty0 rest0 < checker.out + test "$cl $ty $rest" = "$cl0 $ty0 $rest0" || { + ret=1 + echo_i "'$cl $ty $rest' != '$cl0 $ty0 $rest0'" + } +done < checkzone.out$n +test $ret -eq 0 || { echo_i "failed"; status=`expr $status + 1`; } + +echo_i "exit status: $status" +[ $status -eq 0 ] || exit 1 diff --git a/bin/tests/system/rrchecker/typelist.good b/bin/tests/system/rrchecker/typelist.good new file mode 100644 index 0000000..3c3e5cd --- /dev/null +++ b/bin/tests/system/rrchecker/typelist.good @@ -0,0 +1,81 @@ +A +NS +MD +MF +CNAME +SOA +MB +MG +MR +NULL +WKS +PTR +HINFO +MINFO +MX +TXT +RP +AFSDB +X25 +ISDN +RT +NSAP +NSAP-PTR +SIG +KEY +PX +GPOS +AAAA +LOC +NXT +EID +NIMLOC +SRV +ATMA +NAPTR +KX +CERT +A6 +DNAME +SINK +APL +DS +SSHFP +IPSECKEY +RRSIG +NSEC +DNSKEY +DHCID +NSEC3 +NSEC3PARAM +TLSA +SMIMEA +HIP +NINFO +RKEY +TALINK +CDS +CDNSKEY +OPENPGPKEY +CSYNC +ZONEMD +SVCB +HTTPS +SPF +UINFO +UID +GID +UNSPEC +NID +L32 +L64 +LP +EUI48 +EUI64 +URI +CAA +AVC +DOA +AMTRELAY +TA +DLV |