mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 22:15:20 +00:00
Check that 'rndc dnstap -roll <value>' works
This commit is contained in:
@@ -547,6 +547,22 @@ retry_quiet() {
|
|||||||
_retry "$@"
|
_retry "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# _repeat: keep running command up to $1 times, unless it fails
|
||||||
|
_repeat() (
|
||||||
|
__retries="${1}"
|
||||||
|
shift
|
||||||
|
while :; do
|
||||||
|
if ! "$@"; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
__retries=$((__retries-1))
|
||||||
|
if [ "${__retries}" -le 0 ]; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
return 0
|
||||||
|
)
|
||||||
|
|
||||||
rndc_reload() {
|
rndc_reload() {
|
||||||
echo_i "`$RNDC -c ../common/rndc.conf -s $2 -p ${CONTROLPORT} reload $3 2>&1 | sed 's/^/'$1' /'`"
|
echo_i "`$RNDC -c ../common/rndc.conf -s $2 -p ${CONTROLPORT} reload $3 2>&1 | sed 's/^/'$1' /'`"
|
||||||
# reloading single zone is synchronous, if we're reloading whole server
|
# reloading single zone is synchronous, if we're reloading whole server
|
||||||
|
@@ -21,7 +21,9 @@ rm -f fstrm_capture.out
|
|||||||
rm -f ns*/dnstap.out
|
rm -f ns*/dnstap.out
|
||||||
rm -f ns*/dnstap.out.save
|
rm -f ns*/dnstap.out.save
|
||||||
rm -f ns*/dnstap.out.save.?
|
rm -f ns*/dnstap.out.save.?
|
||||||
rm -f ns*/named.lock
|
|
||||||
rm -f ydump.out
|
|
||||||
rm -f ns*/managed-keys.bind*
|
rm -f ns*/managed-keys.bind*
|
||||||
|
rm -f ns*/named.lock
|
||||||
|
rm -f ns2/dnstap.out.*
|
||||||
rm -f ns2/example.db ns2/example.db.jnl
|
rm -f ns2/example.db ns2/example.db.jnl
|
||||||
|
rm -f ns3/dnstap.out.*
|
||||||
|
rm -f ydump.out
|
||||||
|
@@ -758,5 +758,28 @@ lines=`$DNSTAPREAD -y large-answer.fstrm | grep -c "opcode: QUERY"`
|
|||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
test_dnstap_roll() (
|
||||||
|
ip="$1"
|
||||||
|
ns="$2"
|
||||||
|
n="$3"
|
||||||
|
$RNDCCMD -s "${ip}" dnstap -roll "${n}" | sed "s/^/${ns} /" | cat_i &&
|
||||||
|
files=$(find . -name "${ns}/dnstap.out.*" | wc -l) &&
|
||||||
|
test "$files" -le "${n}"
|
||||||
|
)
|
||||||
|
|
||||||
|
echo_i "checking 'rndc -roll <value>' (no versions)"
|
||||||
|
ret=0
|
||||||
|
start_server --noclean --restart --port "${PORT}" dnstap ns3
|
||||||
|
_repeat 5 test_dnstap_roll 10.53.0.3 ns3 3 || ret=1
|
||||||
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
|
status=$((status+ret))
|
||||||
|
|
||||||
|
echo_i "checking 'rndc -roll <value>' (versions)"
|
||||||
|
ret=0
|
||||||
|
start_server --noclean --restart --port "${PORT}" dnstap ns2
|
||||||
|
_repeat 5 test_dnstap_roll 10.53.0.2 ns2 3 || ret=1
|
||||||
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
|
status=$((status+ret))
|
||||||
|
|
||||||
echo_i "exit status: $status"
|
echo_i "exit status: $status"
|
||||||
[ $status -eq 0 ] || exit 1
|
[ "$status" -eq 0 ] || exit 1
|
||||||
|
Reference in New Issue
Block a user