2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-29 13:38:26 +00:00

Add system tests for IXFR statistics

Ensure IXFR statistics are calculated correctly by dig and named, both
for incoming and outgoing transfers.  Disable EDNS when using dig to
request an IXFR so that the same reference file can be used for testing
statistics calculated by both dig and named (dig uses EDNS by default
when sending transfer requests, which affects the number of bytes
transferred).
This commit is contained in:
Michał Kępień 2019-01-31 15:43:58 +01:00 committed by Evan Hunt
parent a22e24a411
commit a9a47c79e9
4 changed files with 31 additions and 1 deletions

View File

@ -9,6 +9,7 @@
# See the COPYRIGHT file distributed with this work for additional # See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership. # information regarding copyright ownership.
rm -f stats.*
rm -f ns1/myftp.db rm -f ns1/myftp.db
rm -f ns3/*.jnl ns3/mytest.db ns3/subtest.db rm -f ns3/*.jnl ns3/mytest.db ns3/subtest.db
rm -f ns4/*.jnl ns4/*.db rm -f ns4/*.jnl ns4/*.db
@ -19,4 +20,4 @@ rm -f */ans.run
rm -f dig.out dig.out1 dig.out2 dig.out3 rm -f dig.out dig.out1 dig.out2 dig.out3
rm -f ns3/large.db rm -f ns3/large.db
rm -f ns*/named.lock rm -f ns*/named.lock
rm -f ns*/managed-keys.bind* rm -f ns*/managed-keys.bind* ns*/*.mkeys

View File

@ -0,0 +1,3 @@
messages=1
records=6
bytes=219

View File

@ -307,5 +307,30 @@ if [ ${ret} != 0 ]; then
status=1; status=1;
fi fi
echo_i "checking whether dig calculates IXFR statistics correctly"
ret=0
$DIG $DIGOPTS +noedns +stat -b 10.53.0.4 @10.53.0.4 test. ixfr=2 > dig.out1
get_dig_xfer_stats dig.out1 > stats.dig
diff ixfr-stats.good stats.dig || ret=1
if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Note: in the next two tests, we use ns4 logs for checking both incoming and
# outgoing transfer statistics as ns4 is both a secondary server (for ns3) and a
# primary server (for dig queries from the previous test) for "test".
echo_i "checking whether named calculates incoming IXFR statistics correctly"
ret=0
get_named_xfer_stats ns4/named.run 10.53.0.3 test "Transfer completed" > stats.incoming
diff ixfr-stats.good stats.incoming || ret=1
if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
echo_i "checking whether named calculates outgoing IXFR statistics correctly"
ret=0
get_named_xfer_stats ns4/named.run 10.53.0.4 test "IXFR ended" > stats.outgoing
diff ixfr-stats.good stats.outgoing || ret=1
if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
echo_i "exit status: $status" echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1 [ $status -eq 0 ] || exit 1

View File

@ -702,6 +702,7 @@
./bin/tests/system/integrity/tests.sh SH 2017,2018,2019 ./bin/tests/system/integrity/tests.sh SH 2017,2018,2019
./bin/tests/system/ixfr/ans2/startme X 2011,2018,2019 ./bin/tests/system/ixfr/ans2/startme X 2011,2018,2019
./bin/tests/system/ixfr/clean.sh SH 2001,2004,2007,2011,2012,2014,2015,2016,2018,2019 ./bin/tests/system/ixfr/clean.sh SH 2001,2004,2007,2011,2012,2014,2015,2016,2018,2019
./bin/tests/system/ixfr/ixfr-stats.good X 2019
./bin/tests/system/ixfr/ns1/startme X 2012,2013,2018,2019 ./bin/tests/system/ixfr/ns1/startme X 2012,2013,2018,2019
./bin/tests/system/ixfr/prereq.sh SH 2001,2004,2007,2012,2014,2016,2018,2019 ./bin/tests/system/ixfr/prereq.sh SH 2001,2004,2007,2012,2014,2016,2018,2019
./bin/tests/system/ixfr/setup.sh SH 2001,2004,2007,2011,2012,2013,2014,2016,2018,2019 ./bin/tests/system/ixfr/setup.sh SH 2001,2004,2007,2011,2012,2013,2014,2016,2018,2019