bind9/bin/tests/system/rrchecker/tests.sh
Tom Krizek 4cb8b13987
Reformat shell scripts with shfmt
All changes in this commit were automated using the command:

  shfmt -w -i 2 -ci -bn . $(find . -name "*.sh.in")

By default, only *.sh and files without extension are checked, so
*.sh.in files have to be added additionally. (See mvdan/sh#944)
2023-10-26 10:23:50 +02:00

98 lines
2.3 KiB
Bash

#!/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