diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 15:59:48 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 15:59:48 +0000 |
commit | 3b9b6d0b8e7f798023c9d109c490449d528fde80 (patch) | |
tree | 2e1c188dd7b8d7475cd163de9ae02c428343669b /bin/tests/system/rrchecker | |
parent | Initial commit. (diff) | |
download | bind9-3b9b6d0b8e7f798023c9d109c490449d528fde80.tar.xz bind9-3b9b6d0b8e7f798023c9d109c490449d528fde80.zip |
Adding upstream version 1:9.18.19.upstream/1%9.18.19
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
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 | 85 | ||||
-rw-r--r-- | bin/tests/system/rrchecker/tests_sh_rrchecker.py | 14 | ||||
-rw-r--r-- | bin/tests/system/rrchecker/typelist.good | 81 |
6 files changed, 198 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..65e9d43 --- /dev/null +++ b/bin/tests/system/rrchecker/tests.sh @@ -0,0 +1,85 @@ +#!/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. + +set -e + +. ../conf.sh + +status=0 +n=0 + +n=$((n + 1)) +echo_i "class list ($n)" +$RRCHECKER -C > classlist.out +diff classlist.out classlist.good || { echo_i "failed"; status=$((status + 1)); } + +n=$((n + 1)) +echo_i "type list ($n)" +$RRCHECKER -T > typelist.out +diff typelist.out typelist.good || { echo_i "failed"; status=$((status + 1)); } + +n=$((n + 1)) +echo_i "private type list ($n)" +$RRCHECKER -P > privatelist.out +diff privatelist.out privatelist.good || { echo_i "failed"; status=$((status + 1)); } + +myecho() { +cat << EOF +$* +EOF +} + +n=$((n + 1)) +echo_i "check conversions to canonical format ($n)" +ret=0 +$SHELL ${TOP_SRCDIR}/bin/tests/system/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=$((status + 1)); } + +n=$((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=$((status + 1)); } + +echo_i "exit status: $status" +[ $status -eq 0 ] || exit 1 diff --git a/bin/tests/system/rrchecker/tests_sh_rrchecker.py b/bin/tests/system/rrchecker/tests_sh_rrchecker.py new file mode 100644 index 0000000..16368e7 --- /dev/null +++ b/bin/tests/system/rrchecker/tests_sh_rrchecker.py @@ -0,0 +1,14 @@ +# 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. + + +def test_rrchecker(run_tests_sh): + run_tests_sh() 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 |