summaryrefslogtreecommitdiffstats
path: root/bin/tests/system/dnstap/tests.sh
diff options
context:
space:
mode:
Diffstat (limited to 'bin/tests/system/dnstap/tests.sh')
-rw-r--r--bin/tests/system/dnstap/tests.sh869
1 files changed, 438 insertions, 431 deletions
diff --git a/bin/tests/system/dnstap/tests.sh b/bin/tests/system/dnstap/tests.sh
index c5d4f0a..ac40a38 100644
--- a/bin/tests/system/dnstap/tests.sh
+++ b/bin/tests/system/dnstap/tests.sh
@@ -16,44 +16,53 @@ set -e
. ../conf.sh
DIGOPTS="+short -p ${PORT}"
-RNDCCMD="$RNDC -p ${CONTROLPORT} -c ../common/rndc.conf"
+RNDCCMD="$RNDC -p ${CONTROLPORT} -c ../_common/rndc.conf"
status=0
# dnstap_data_ready <fstrm_capture_PID> <capture_file> <min_file_size>
# Flushes capture_file and checks wheter its size is >= min_file_size.
dnstap_data_ready() {
- # Process id of running fstrm_capture.
- fstrm_capture_pid=$1
- # Output file provided to fstrm_capture via -w switch.
- capture_file=$2
- # Minimum expected file size.
- min_size_expected=$3
-
- kill -HUP $fstrm_capture_pid
- file_size=$(wc -c < "$capture_file" | tr -d ' ')
- if [ $file_size -lt $min_size_expected ]; then
- return 1
- fi
-}
-
-
-for bad in bad-*.conf
-do
- ret=0
- echo_i "checking that named-checkconf detects error in $bad"
- { $CHECKCONF $bad > /dev/null 2>&1; rc=$?; } || true
- if [ $rc != 1 ]; then echo_i "failed"; ret=1; fi
- status=$((status + ret))
+ # Process id of running fstrm_capture.
+ fstrm_capture_pid=$1
+ # Output file provided to fstrm_capture via -w switch.
+ capture_file=$2
+ # Minimum expected file size.
+ min_size_expected=$3
+
+ kill -HUP $fstrm_capture_pid
+ file_size=$(wc -c <"$capture_file" | tr -d ' ')
+ if [ $file_size -lt $min_size_expected ]; then
+ return 1
+ fi
+}
+
+for bad in bad-*.conf; do
+ ret=0
+ echo_i "checking that named-checkconf detects error in $bad"
+ {
+ $CHECKCONF $bad >/dev/null 2>&1
+ rc=$?
+ } || true
+ if [ $rc != 1 ]; then
+ echo_i "failed"
+ ret=1
+ fi
+ status=$((status + ret))
done
-for good in good-*.conf
-do
- ret=0
- echo_i "checking that named-checkconf detects no error in $good"
- { $CHECKCONF $good > /dev/null 2>&1; rc=$?; } || true
- if [ $rc != 0 ]; then echo_i "failed"; ret=1; fi
- status=$((status + ret))
+for good in good-*.conf; do
+ ret=0
+ echo_i "checking that named-checkconf detects no error in $good"
+ {
+ $CHECKCONF $good >/dev/null 2>&1
+ rc=$?
+ } || true
+ if [ $rc != 0 ]; then
+ echo_i "failed"
+ ret=1
+ fi
+ status=$((status + ret))
done
echo_i "wait for servers to finish loading"
@@ -71,7 +80,7 @@ status=$((status + ret))
echo_i "prime cache"
ret=0
-$DIG $DIGOPTS @10.53.0.3 a.example > dig.out || true
+$DIG $DIGOPTS @10.53.0.3 a.example >dig.out || true
wait_for_log 20 "(.): reset client" ns1/named.run || true
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
@@ -81,15 +90,15 @@ status=$((status + ret))
mv ns1/dnstap.out ns1/dnstap.out.save
mv ns2/dnstap.out ns2/dnstap.out.save
-if [ -n "$FSTRM_CAPTURE" ] ; then
- ret=0
- echo_i "starting fstrm_capture"
- $FSTRM_CAPTURE -t protobuf:dnstap.Dnstap -u ns4/dnstap.out \
- -w dnstap.out > fstrm_capture.out.1 2>&1 &
- fstrm_capture_pid=$!
- wait_for_log 10 "socket path ns4/dnstap.out" fstrm_capture.out.1 || ret=1
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
+if [ -n "$FSTRM_CAPTURE" ]; then
+ ret=0
+ echo_i "starting fstrm_capture"
+ $FSTRM_CAPTURE -t protobuf:dnstap.Dnstap -u ns4/dnstap.out \
+ -w dnstap.out >fstrm_capture.out.1 2>&1 &
+ fstrm_capture_pid=$!
+ wait_for_log 10 "socket path ns4/dnstap.out" fstrm_capture.out.1 || ret=1
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
fi
echo_i "reopen/roll capture streams"
@@ -101,10 +110,10 @@ $RNDCCMD -s 10.53.0.4 dnstap -reopen | sed 's/^/ns4 /' | cat_i
echo_i "send test traffic"
ret=0
-$DIG $DIGOPTS @10.53.0.3 a.example > dig.out || ret=1
+$DIG $DIGOPTS @10.53.0.3 a.example >dig.out || ret=1
# send an UPDATE to ns2
-$NSUPDATE <<- EOF
+$NSUPDATE <<-EOF
server 10.53.0.2 ${PORT}
zone example
update add b.example 3600 in a 10.10.10.10
@@ -161,16 +170,16 @@ ur3=$($DNSTAPREAD ns3/dnstap.out.save | grep "UR " | wc -l)
echo_i "checking UDP message counts"
ret=0
[ $udp1 -eq 0 ] || {
- echo_i "ns1 $udp1 expected 0"
- ret=1
+ echo_i "ns1 $udp1 expected 0"
+ ret=1
}
[ $udp2 -eq 2 ] || {
- echo_i "ns2 $udp2 expected 2"
- ret=1
+ echo_i "ns2 $udp2 expected 2"
+ ret=1
}
[ $udp3 -eq 4 ] || {
- echo_i "ns3 $udp3 expected 4"
- ret=1
+ echo_i "ns3 $udp3 expected 4"
+ ret=1
}
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
@@ -178,16 +187,16 @@ status=$((status + ret))
echo_i "checking TCP message counts"
ret=0
[ $tcp1 -eq 6 ] || {
- echo_i "ns1 $tcp1 expected 6"
- ret=1
+ echo_i "ns1 $tcp1 expected 6"
+ ret=1
}
[ $tcp2 -eq 2 ] || {
- echo_i "ns2 $tcp2 expected 2"
- ret=1
+ echo_i "ns2 $tcp2 expected 2"
+ ret=1
}
[ $tcp3 -eq 6 ] || {
- echo_i "ns3 $tcp3 expected 6"
- ret=1
+ echo_i "ns3 $tcp3 expected 6"
+ ret=1
}
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
@@ -195,16 +204,16 @@ status=$((status + ret))
echo_i "checking AUTH_QUERY message counts"
ret=0
[ $aq1 -eq 3 ] || {
- echo_i "ns1 $aq1 exepcted 3"
- ret=1
+ echo_i "ns1 $aq1 exepcted 3"
+ ret=1
}
[ $aq2 -eq 2 ] || {
- echo_i "ns2 $aq2 expected 2"
- ret=1
+ echo_i "ns2 $aq2 expected 2"
+ ret=1
}
[ $aq3 -eq 1 ] || {
- echo_i "ns3 $aq3 expected 1"
- ret=1
+ echo_i "ns3 $aq3 expected 1"
+ ret=1
}
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
@@ -212,16 +221,16 @@ status=$((status + ret))
echo_i "checking AUTH_RESPONSE message counts"
ret=0
[ $ar1 -eq 2 ] || {
- echo_i "ns1 $ar1 expected 2"
- ret=1
+ echo_i "ns1 $ar1 expected 2"
+ ret=1
}
[ $ar2 -eq 1 ] || {
- echo_i "ns2 $ar2 expected 1"
- ret=1
+ echo_i "ns2 $ar2 expected 1"
+ ret=1
}
[ $ar3 -eq 0 ] || {
- echo_i "ns3 $ar3 expected 0"
- ret=1
+ echo_i "ns3 $ar3 expected 0"
+ ret=1
}
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
@@ -229,16 +238,16 @@ status=$((status + ret))
echo_i "checking CLIENT_QUERY message counts"
ret=0
[ $cq1 -eq 0 ] || {
- echo_i "ns1 $cq1 expected 0"
- ret=1
+ echo_i "ns1 $cq1 expected 0"
+ ret=1
}
[ $cq2 -eq 0 ] || {
- echo_i "ns2 $cq2 expected 0"
- ret=1
+ echo_i "ns2 $cq2 expected 0"
+ ret=1
}
[ $cq3 -eq 1 ] || {
- echo_i "ns3 $cq3 expected 1"
- ret=1
+ echo_i "ns3 $cq3 expected 1"
+ ret=1
}
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
@@ -246,16 +255,16 @@ status=$((status + ret))
echo_i "checking CLIENT_RESPONSE message counts"
ret=0
[ $cr1 -eq 1 ] || {
- echo_i "ns1 $cr1 expected 1"
- ret=1
+ echo_i "ns1 $cr1 expected 1"
+ ret=1
}
[ $cr2 -eq 1 ] || {
- echo_i "ns2 $cr2 expected 1"
- ret=1
+ echo_i "ns2 $cr2 expected 1"
+ ret=1
}
[ $cr3 -eq 2 ] || {
- echo_i "ns3 $cr3 expected 2"
- ret=1
+ echo_i "ns3 $cr3 expected 2"
+ ret=1
}
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
@@ -263,16 +272,16 @@ status=$((status + ret))
echo_i "checking RESOLVER_QUERY message counts"
ret=0
[ $rq1 -eq 0 ] || {
- echo_i "ns1 $rq1 expected 0"
- ret=1
+ echo_i "ns1 $rq1 expected 0"
+ ret=1
}
[ $rq2 -eq 0 ] || {
- echo_i "ns2 $rq2 expected 0"
- ret=1
+ echo_i "ns2 $rq2 expected 0"
+ ret=1
}
[ $rq3 -eq 3 ] || {
- echo_i "ns3 $rq3 expected 3"
- ret=1
+ echo_i "ns3 $rq3 expected 3"
+ ret=1
}
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
@@ -280,16 +289,16 @@ status=$((status + ret))
echo_i "checking RESOLVER_RESPONSE message counts"
ret=0
[ $rr1 -eq 0 ] || {
- echo_i "ns1 $rr1 expected 0"
- ret=1
+ echo_i "ns1 $rr1 expected 0"
+ ret=1
}
[ $rr2 -eq 0 ] || {
- echo_i "ns2 $rr2 expected 0"
- ret=1
+ echo_i "ns2 $rr2 expected 0"
+ ret=1
}
[ $rr3 -eq 3 ] || {
- echo_i "ns3 $rr3 expected 3"
- ret=1
+ echo_i "ns3 $rr3 expected 3"
+ ret=1
}
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
@@ -297,16 +306,16 @@ status=$((status + ret))
echo_i "checking UPDATE_QUERY message counts"
ret=0
[ $uq1 -eq 0 ] || {
- echo_i "ns1 $uq1 expected 0"
- ret=1
+ echo_i "ns1 $uq1 expected 0"
+ ret=1
}
[ $uq2 -eq 0 ] || {
- echo_i "ns2 $uq2 expected 0"
- ret=1
+ echo_i "ns2 $uq2 expected 0"
+ ret=1
}
[ $uq3 -eq 0 ] || {
- echo_i "ns3 $uq3 expected 0"
- ret=1
+ echo_i "ns3 $uq3 expected 0"
+ ret=1
}
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
@@ -314,16 +323,16 @@ status=$((status + ret))
echo_i "checking UPDATE_RESPONSE message counts"
ret=0
[ $ur1 -eq 0 ] || {
- echo_i "ns1 $ur1 expected 0"
- ret=1
+ echo_i "ns1 $ur1 expected 0"
+ ret=1
}
[ $ur2 -eq 0 ] || {
- echo_i "ns2 $ur2 expected 0"
- ret=1
+ echo_i "ns2 $ur2 expected 0"
+ ret=1
}
[ $ur3 -eq 0 ] || {
- echo_i "ns3 $ur3 expected 0"
- ret=1
+ echo_i "ns3 $ur3 expected 0"
+ ret=1
}
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
@@ -366,16 +375,16 @@ ur3=$($DNSTAPREAD ns3/dnstap.out | grep "UR " | wc -l)
echo_i "checking UDP message counts"
ret=0
[ $udp1 -eq 0 ] || {
- echo_i "ns1 $udp1 expected 0"
- ret=1
+ echo_i "ns1 $udp1 expected 0"
+ ret=1
}
[ $udp2 -eq 2 ] || {
- echo_i "ns2 $udp2 expected 2"
- ret=1
+ echo_i "ns2 $udp2 expected 2"
+ ret=1
}
[ $udp3 -eq 2 ] || {
- echo_i "ns3 $udp3 expected 2"
- ret=1
+ echo_i "ns3 $udp3 expected 2"
+ ret=1
}
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
@@ -383,16 +392,16 @@ status=$((status + ret))
echo_i "checking TCP message counts"
ret=0
[ $tcp1 -eq 0 ] || {
- echo_i "ns1 $tcp1 expected 0"
- ret=1
+ echo_i "ns1 $tcp1 expected 0"
+ ret=1
}
[ $tcp2 -eq 0 ] || {
- echo_i "ns2 $tcp2 expected 0"
- ret=1
+ echo_i "ns2 $tcp2 expected 0"
+ ret=1
}
[ $tcp3 -eq 0 ] || {
- echo_i "ns3 $tcp3 expected 0"
- ret=1
+ echo_i "ns3 $tcp3 expected 0"
+ ret=1
}
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
@@ -400,16 +409,16 @@ status=$((status + ret))
echo_i "checking AUTH_QUERY message counts"
ret=0
[ $aq1 -eq 0 ] || {
- echo_i "ns1 $aq1 exepcted 0"
- ret=1
+ echo_i "ns1 $aq1 exepcted 0"
+ ret=1
}
[ $aq2 -eq 0 ] || {
- echo_i "ns2 $aq2 expected 0"
- ret=1
+ echo_i "ns2 $aq2 expected 0"
+ ret=1
}
[ $aq3 -eq 0 ] || {
- echo_i "ns3 $aq3 expected 0"
- ret=1
+ echo_i "ns3 $aq3 expected 0"
+ ret=1
}
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
@@ -417,16 +426,16 @@ status=$((status + ret))
echo_i "checking AUTH_RESPONSE message counts"
ret=0
[ $ar1 -eq 0 ] || {
- echo_i "ns1 $ar1 expected 0"
- ret=1
+ echo_i "ns1 $ar1 expected 0"
+ ret=1
}
[ $ar2 -eq 0 ] || {
- echo_i "ns2 $ar2 expected 0"
- ret=1
+ echo_i "ns2 $ar2 expected 0"
+ ret=1
}
[ $ar3 -eq 0 ] || {
- echo_i "ns3 $ar3 expected 0"
- ret=1
+ echo_i "ns3 $ar3 expected 0"
+ ret=1
}
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
@@ -434,16 +443,16 @@ status=$((status + ret))
echo_i "checking CLIENT_QUERY message counts"
ret=0
[ $cq1 -eq 0 ] || {
- echo_i "ns1 $cq1 expected 0"
- ret=1
+ echo_i "ns1 $cq1 expected 0"
+ ret=1
}
[ $cq2 -eq 0 ] || {
- echo_i "ns2 $cq2 expected 0"
- ret=1
+ echo_i "ns2 $cq2 expected 0"
+ ret=1
}
[ $cq3 -eq 1 ] || {
- echo_i "ns3 $cq3 expected 1"
- ret=1
+ echo_i "ns3 $cq3 expected 1"
+ ret=1
}
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
@@ -451,16 +460,16 @@ status=$((status + ret))
echo_i "checking CLIENT_RESPONSE message counts"
ret=0
[ $cr1 -eq 0 ] || {
- echo_i "ns1 $cr1 expected 0"
- ret=1
+ echo_i "ns1 $cr1 expected 0"
+ ret=1
}
[ $cr2 -eq 0 ] || {
- echo_i "ns2 $cr2 expected 0"
- ret=1
+ echo_i "ns2 $cr2 expected 0"
+ ret=1
}
[ $cr3 -eq 1 ] || {
- echo_i "ns3 $cr3 expected 1"
- ret=1
+ echo_i "ns3 $cr3 expected 1"
+ ret=1
}
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
@@ -468,16 +477,16 @@ status=$((status + ret))
echo_i "checking RESOLVER_QUERY message counts"
ret=0
[ $rq1 -eq 0 ] || {
- echo_i "ns1 $rq1 expected 0"
- ret=1
+ echo_i "ns1 $rq1 expected 0"
+ ret=1
}
[ $rq2 -eq 0 ] || {
- echo_i "ns2 $rq2 expected 0"
- ret=1
+ echo_i "ns2 $rq2 expected 0"
+ ret=1
}
[ $rq3 -eq 0 ] || {
- echo_i "ns3 $rq3 expected 0"
- ret=1
+ echo_i "ns3 $rq3 expected 0"
+ ret=1
}
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
@@ -485,16 +494,16 @@ status=$((status + ret))
echo_i "checking RESOLVER_RESPONSE message counts"
ret=0
[ $rr1 -eq 0 ] || {
- echo_i "ns1 $rr1 expected 0"
- ret=1
+ echo_i "ns1 $rr1 expected 0"
+ ret=1
}
[ $rr2 -eq 0 ] || {
- echo_i "ns2 $rr2 expected 0"
- ret=1
+ echo_i "ns2 $rr2 expected 0"
+ ret=1
}
[ $rr3 -eq 0 ] || {
- echo_i "ns3 $rr3 expected 0"
- ret=1
+ echo_i "ns3 $rr3 expected 0"
+ ret=1
}
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
@@ -502,16 +511,16 @@ status=$((status + ret))
echo_i "checking UPDATE_QUERY message counts"
ret=0
[ $uq1 -eq 0 ] || {
- echo_i "ns1 $uq1 expected 0"
- ret=1
+ echo_i "ns1 $uq1 expected 0"
+ ret=1
}
[ $uq2 -eq 1 ] || {
- echo_i "ns2 $uq2 expected 1"
- ret=1
+ echo_i "ns2 $uq2 expected 1"
+ ret=1
}
[ $uq3 -eq 0 ] || {
- echo_i "ns3 $uq3 expected 0"
- ret=1
+ echo_i "ns3 $uq3 expected 0"
+ ret=1
}
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
@@ -519,16 +528,16 @@ status=$((status + ret))
echo_i "checking UPDATE_RESPONSE message counts"
ret=0
[ $ur1 -eq 0 ] || {
- echo_i "ns1 $ur1 expected 0"
- ret=1
+ echo_i "ns1 $ur1 expected 0"
+ ret=1
}
[ $ur2 -eq 1 ] || {
- echo_i "ns2 $ur2 expected 1"
- ret=1
+ echo_i "ns2 $ur2 expected 1"
+ ret=1
}
[ $ur3 -eq 0 ] || {
- echo_i "ns3 $ur3 expected 0"
- ret=1
+ echo_i "ns3 $ur3 expected 0"
+ ret=1
}
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
@@ -540,271 +549,271 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
HAS_PYYAML=0
-if [ -x "$PYTHON" ] ; then
- $PYTHON -c "import yaml" 2> /dev/null && HAS_PYYAML=1
+if [ -x "$PYTHON" ]; then
+ $PYTHON -c "import yaml" 2>/dev/null && HAS_PYYAML=1
fi
-if [ $HAS_PYYAML -ne 0 ] ; then
- echo_i "checking dnstap-read YAML output"
- ret=0
- {
- $PYTHON ydump.py "$DNSTAPREAD" "ns3/dnstap.out.save" > ydump.out || ret=1
- } | cat_i
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
+if [ $HAS_PYYAML -ne 0 ]; then
+ echo_i "checking dnstap-read YAML output"
+ ret=0
+ {
+ $PYTHON ydump.py "$DNSTAPREAD" "ns3/dnstap.out.save" >ydump.out || ret=1
+ } | cat_i
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
fi
echo_i "checking dnstap-read hex output"
ret=0
hex=$($DNSTAPREAD -x ns3/dnstap.out | tail -1)
-echo $hex | $WIRETEST > dnstap.hex
-grep 'status: NOERROR' dnstap.hex > /dev/null 2>&1 || ret=1
-grep 'ANSWER: 3, AUTHORITY: 1' dnstap.hex > /dev/null 2>&1 || ret=1
+echo $hex | $WIRETEST >dnstap.hex
+grep 'status: NOERROR' dnstap.hex >/dev/null 2>&1 || ret=1
+grep 'ANSWER: 3, AUTHORITY: 1' dnstap.hex >/dev/null 2>&1 || ret=1
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
-if [ -n "$FSTRM_CAPTURE" ] ; then
- $DIG $DIGOPTS @10.53.0.4 a.example > dig.out
+if [ -n "$FSTRM_CAPTURE" ]; then
+ $DIG $DIGOPTS @10.53.0.4 a.example >dig.out
- # send an UPDATE to ns4
- $NSUPDATE <<- EOF > nsupdate.out 2>&1 && ret=1
+ # send an UPDATE to ns4
+ $NSUPDATE <<-EOF >nsupdate.out 2>&1 && ret=1
server 10.53.0.4 ${PORT}
zone example
update add b.example 3600 in a 10.10.10.10
send
EOF
- grep "update failed: NOTAUTH" nsupdate.out > /dev/null || ret=1
-
- echo_i "checking unix socket message counts"
- sleep 2
- retry_quiet 5 dnstap_data_ready $fstrm_capture_pid dnstap.out 450 || {
- echo_i "dnstap output file smaller than expected"
- ret=1
- }
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
- kill $fstrm_capture_pid
- wait
- udp4=$($DNSTAPREAD dnstap.out | grep "UDP " | wc -l)
- tcp4=$($DNSTAPREAD dnstap.out | grep "TCP " | wc -l)
- aq4=$($DNSTAPREAD dnstap.out | grep "AQ " | wc -l)
- ar4=$($DNSTAPREAD dnstap.out | grep "AR " | wc -l)
- cq4=$($DNSTAPREAD dnstap.out | grep "CQ " | wc -l)
- cr4=$($DNSTAPREAD dnstap.out | grep "CR " | wc -l)
- rq4=$($DNSTAPREAD dnstap.out | grep "RQ " | wc -l)
- rr4=$($DNSTAPREAD dnstap.out | grep "RR " | wc -l)
- uq4=$($DNSTAPREAD dnstap.out | grep "UQ " | wc -l)
- ur4=$($DNSTAPREAD dnstap.out | grep "UR " | wc -l)
-
- echo_i "checking UDP message counts"
- ret=0
- [ $udp4 -eq 4 ] || {
- echo_i "ns4 $udp4 expected 4"
- ret=1
- }
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
-
- echo_i "checking TCP message counts"
- ret=0
- [ $tcp4 -eq 0 ] || {
- echo_i "ns4 $tcp4 expected 0"
- ret=1
- }
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
-
- echo_i "checking AUTH_QUERY message counts"
- ret=0
- [ $aq4 -eq 0 ] || {
- echo_i "ns4 $aq4 expected 0"
- ret=1
- }
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
-
- echo_i "checking AUTH_RESPONSE message counts"
- ret=0
- [ $ar4 -eq 0 ] || {
- echo_i "ns4 $ar4 expected 0"
- ret=1
- }
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
-
- echo_i "checking CLIENT_QUERY message counts"
- ret=0
- [ $cq4 -eq 1 ] || {
- echo_i "ns4 $cq4 expected 1"
- ret=1
- }
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
-
- echo_i "checking CLIENT_RESPONSE message counts"
- ret=0
- [ $cr4 -eq 1 ] || {
- echo_i "ns4 $cr4 expected 1"
- ret=1
- }
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
-
- echo_i "checking RESOLVER_QUERY message counts"
- ret=0
- [ $rq4 -eq 0 ] || {
- echo_i "ns4 $rq4 expected 0"
- ret=1
- }
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
-
- echo_i "checking RESOLVER_RESPONSE message counts"
- ret=0
- [ $rr4 -eq 0 ] || {
- echo_i "ns4 $rr4 expected 0"
- ret=1
- }
-
- echo_i "checking UPDATE_QUERY message counts"
- ret=0
- [ $uq4 -eq 1 ] || {
- echo_i "ns4 $uq4 expected 1"
- ret=1
- }
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
-
- echo_i "checking UPDATE_RESPONSE message counts"
- ret=0
- [ $ur4 -eq 1 ] || {
- echo_i "ns4 $ur4 expected 1"
- ret=1
- }
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
-
- mv dnstap.out dnstap.out.save
-
- echo_i "restarting fstrm_capture"
- $FSTRM_CAPTURE -t protobuf:dnstap.Dnstap -u ns4/dnstap.out \
- -w dnstap.out > fstrm_capture.out.2 2>&1 &
- fstrm_capture_pid=$!
- wait_for_log 10 "socket path ns4/dnstap.out" fstrm_capture.out.2 || {
- echo_i "failed"
- ret=1
- }
- $RNDCCMD -s 10.53.0.4 dnstap -reopen | sed 's/^/ns4 /' | cat_i
- $DIG $DIGOPTS @10.53.0.4 a.example > dig.out
-
- echo_i "checking reopened unix socket message counts"
- sleep 2
- retry_quiet 5 dnstap_data_ready $fstrm_capture_pid dnstap.out 270 || {
- echo_i "dnstap output file smaller than expected"
- ret=1
- }
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
- kill $fstrm_capture_pid
- wait
- udp4=$($DNSTAPREAD dnstap.out | grep "UDP " | wc -l)
- tcp4=$($DNSTAPREAD dnstap.out | grep "TCP " | wc -l)
- aq4=$($DNSTAPREAD dnstap.out | grep "AQ " | wc -l)
- ar4=$($DNSTAPREAD dnstap.out | grep "AR " | wc -l)
- cq4=$($DNSTAPREAD dnstap.out | grep "CQ " | wc -l)
- cr4=$($DNSTAPREAD dnstap.out | grep "CR " | wc -l)
- rq4=$($DNSTAPREAD dnstap.out | grep "RQ " | wc -l)
- rr4=$($DNSTAPREAD dnstap.out | grep "RR " | wc -l)
- uq4=$($DNSTAPREAD dnstap.out | grep "UQ " | wc -l)
- ur4=$($DNSTAPREAD dnstap.out | grep "UR " | wc -l)
-
- echo_i "checking UDP message counts"
- ret=0
- [ $udp4 -eq 2 ] || {
- echo_i "ns4 $udp4 expected 2"
- ret=1
- }
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
-
- echo_i "checking TCP message counts"
- ret=0
- [ $tcp4 -eq 0 ] || {
- echo_i "ns4 $tcp4 expected 0"
- ret=1
- }
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
-
- echo_i "checking AUTH_QUERY message counts"
- ret=0
- [ $aq4 -eq 0 ] || {
- echo_i "ns4 $aq4 expected 0"
- ret=1
- }
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
-
- echo_i "checking AUTH_RESPONSE message counts"
- ret=0
- [ $ar4 -eq 0 ] || {
- echo_i "ns4 $ar4 expected 0"
- ret=1
- }
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
-
- echo_i "checking CLIENT_QUERY message counts"
- ret=0
- [ $cq4 -eq 1 ] || {
- echo_i "ns4 $cq4 expected 1"
- ret=1
- }
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
-
- echo_i "checking CLIENT_RESPONSE message counts"
- ret=0
- [ $cr4 -eq 1 ] || {
- echo_i "ns4 $cr4 expected 1"
- ret=1
- }
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
-
- echo_i "checking RESOLVER_QUERY message counts"
- ret=0
- [ $rq4 -eq 0 ] || {
- echo_i "ns4 $rq4 expected 0"
- ret=1
- }
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
-
- echo_i "checking RESOLVER_RESPONSE message counts"
- ret=0
- [ $rr4 -eq 0 ] || {
- echo_i "ns4 $rr4 expected 0"
- ret=1
- }
-
- echo_i "checking UPDATE_QUERY message counts"
- ret=0
- [ $uq4 -eq 0 ] || {
- echo_i "ns4 $uq4 expected 0"
- ret=1
- }
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
-
- echo_i "checking UPDATE_RESPONSE message counts"
- ret=0
- [ $ur4 -eq 0 ] || {
- echo_i "ns4 $ur4 expected 0"
- ret=1
- }
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status + ret))
+ grep "update failed: NOTAUTH" nsupdate.out >/dev/null || ret=1
+
+ echo_i "checking unix socket message counts"
+ sleep 2
+ retry_quiet 5 dnstap_data_ready $fstrm_capture_pid dnstap.out 450 || {
+ echo_i "dnstap output file smaller than expected"
+ ret=1
+ }
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
+ kill $fstrm_capture_pid
+ wait
+ udp4=$($DNSTAPREAD dnstap.out | grep "UDP " | wc -l)
+ tcp4=$($DNSTAPREAD dnstap.out | grep "TCP " | wc -l)
+ aq4=$($DNSTAPREAD dnstap.out | grep "AQ " | wc -l)
+ ar4=$($DNSTAPREAD dnstap.out | grep "AR " | wc -l)
+ cq4=$($DNSTAPREAD dnstap.out | grep "CQ " | wc -l)
+ cr4=$($DNSTAPREAD dnstap.out | grep "CR " | wc -l)
+ rq4=$($DNSTAPREAD dnstap.out | grep "RQ " | wc -l)
+ rr4=$($DNSTAPREAD dnstap.out | grep "RR " | wc -l)
+ uq4=$($DNSTAPREAD dnstap.out | grep "UQ " | wc -l)
+ ur4=$($DNSTAPREAD dnstap.out | grep "UR " | wc -l)
+
+ echo_i "checking UDP message counts"
+ ret=0
+ [ $udp4 -eq 4 ] || {
+ echo_i "ns4 $udp4 expected 4"
+ ret=1
+ }
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
+
+ echo_i "checking TCP message counts"
+ ret=0
+ [ $tcp4 -eq 0 ] || {
+ echo_i "ns4 $tcp4 expected 0"
+ ret=1
+ }
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
+
+ echo_i "checking AUTH_QUERY message counts"
+ ret=0
+ [ $aq4 -eq 0 ] || {
+ echo_i "ns4 $aq4 expected 0"
+ ret=1
+ }
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
+
+ echo_i "checking AUTH_RESPONSE message counts"
+ ret=0
+ [ $ar4 -eq 0 ] || {
+ echo_i "ns4 $ar4 expected 0"
+ ret=1
+ }
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
+
+ echo_i "checking CLIENT_QUERY message counts"
+ ret=0
+ [ $cq4 -eq 1 ] || {
+ echo_i "ns4 $cq4 expected 1"
+ ret=1
+ }
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
+
+ echo_i "checking CLIENT_RESPONSE message counts"
+ ret=0
+ [ $cr4 -eq 1 ] || {
+ echo_i "ns4 $cr4 expected 1"
+ ret=1
+ }
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
+
+ echo_i "checking RESOLVER_QUERY message counts"
+ ret=0
+ [ $rq4 -eq 0 ] || {
+ echo_i "ns4 $rq4 expected 0"
+ ret=1
+ }
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
+
+ echo_i "checking RESOLVER_RESPONSE message counts"
+ ret=0
+ [ $rr4 -eq 0 ] || {
+ echo_i "ns4 $rr4 expected 0"
+ ret=1
+ }
+
+ echo_i "checking UPDATE_QUERY message counts"
+ ret=0
+ [ $uq4 -eq 1 ] || {
+ echo_i "ns4 $uq4 expected 1"
+ ret=1
+ }
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
+
+ echo_i "checking UPDATE_RESPONSE message counts"
+ ret=0
+ [ $ur4 -eq 1 ] || {
+ echo_i "ns4 $ur4 expected 1"
+ ret=1
+ }
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
+
+ mv dnstap.out dnstap.out.save
+
+ echo_i "restarting fstrm_capture"
+ $FSTRM_CAPTURE -t protobuf:dnstap.Dnstap -u ns4/dnstap.out \
+ -w dnstap.out >fstrm_capture.out.2 2>&1 &
+ fstrm_capture_pid=$!
+ wait_for_log 10 "socket path ns4/dnstap.out" fstrm_capture.out.2 || {
+ echo_i "failed"
+ ret=1
+ }
+ $RNDCCMD -s 10.53.0.4 dnstap -reopen | sed 's/^/ns4 /' | cat_i
+ $DIG $DIGOPTS @10.53.0.4 a.example >dig.out
+
+ echo_i "checking reopened unix socket message counts"
+ sleep 2
+ retry_quiet 5 dnstap_data_ready $fstrm_capture_pid dnstap.out 270 || {
+ echo_i "dnstap output file smaller than expected"
+ ret=1
+ }
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
+ kill $fstrm_capture_pid
+ wait
+ udp4=$($DNSTAPREAD dnstap.out | grep "UDP " | wc -l)
+ tcp4=$($DNSTAPREAD dnstap.out | grep "TCP " | wc -l)
+ aq4=$($DNSTAPREAD dnstap.out | grep "AQ " | wc -l)
+ ar4=$($DNSTAPREAD dnstap.out | grep "AR " | wc -l)
+ cq4=$($DNSTAPREAD dnstap.out | grep "CQ " | wc -l)
+ cr4=$($DNSTAPREAD dnstap.out | grep "CR " | wc -l)
+ rq4=$($DNSTAPREAD dnstap.out | grep "RQ " | wc -l)
+ rr4=$($DNSTAPREAD dnstap.out | grep "RR " | wc -l)
+ uq4=$($DNSTAPREAD dnstap.out | grep "UQ " | wc -l)
+ ur4=$($DNSTAPREAD dnstap.out | grep "UR " | wc -l)
+
+ echo_i "checking UDP message counts"
+ ret=0
+ [ $udp4 -eq 2 ] || {
+ echo_i "ns4 $udp4 expected 2"
+ ret=1
+ }
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
+
+ echo_i "checking TCP message counts"
+ ret=0
+ [ $tcp4 -eq 0 ] || {
+ echo_i "ns4 $tcp4 expected 0"
+ ret=1
+ }
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
+
+ echo_i "checking AUTH_QUERY message counts"
+ ret=0
+ [ $aq4 -eq 0 ] || {
+ echo_i "ns4 $aq4 expected 0"
+ ret=1
+ }
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
+
+ echo_i "checking AUTH_RESPONSE message counts"
+ ret=0
+ [ $ar4 -eq 0 ] || {
+ echo_i "ns4 $ar4 expected 0"
+ ret=1
+ }
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
+
+ echo_i "checking CLIENT_QUERY message counts"
+ ret=0
+ [ $cq4 -eq 1 ] || {
+ echo_i "ns4 $cq4 expected 1"
+ ret=1
+ }
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
+
+ echo_i "checking CLIENT_RESPONSE message counts"
+ ret=0
+ [ $cr4 -eq 1 ] || {
+ echo_i "ns4 $cr4 expected 1"
+ ret=1
+ }
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
+
+ echo_i "checking RESOLVER_QUERY message counts"
+ ret=0
+ [ $rq4 -eq 0 ] || {
+ echo_i "ns4 $rq4 expected 0"
+ ret=1
+ }
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
+
+ echo_i "checking RESOLVER_RESPONSE message counts"
+ ret=0
+ [ $rr4 -eq 0 ] || {
+ echo_i "ns4 $rr4 expected 0"
+ ret=1
+ }
+
+ echo_i "checking UPDATE_QUERY message counts"
+ ret=0
+ [ $uq4 -eq 0 ] || {
+ echo_i "ns4 $uq4 expected 0"
+ ret=1
+ }
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
+
+ echo_i "checking UPDATE_RESPONSE message counts"
+ ret=0
+ [ $ur4 -eq 0 ] || {
+ echo_i "ns4 $ur4 expected 0"
+ ret=1
+ }
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
fi
echo_i "checking large packet printing"
@@ -817,30 +826,28 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
_test_dnstap_roll() (
- ip="$1"
- ns="$2"
- n="$3"
+ ip="$1"
+ ns="$2"
+ n="$3"
- $RNDCCMD -s "${ip}" dnstap -roll "${n}" | sed "s/^/${ns} /" | cat_i &&
- files=$(find "$ns" -name "dnstap.out.[0-9]" | wc -l) &&
- test "$files" -eq "${n}" && test "$files" -ge "1" || return 1
+ $RNDCCMD -s "${ip}" dnstap -roll "${n}" | sed "s/^/${ns} /" | cat_i \
+ && files=$(find "$ns" -name "dnstap.out.[0-9]" | wc -l) \
+ && test "$files" -eq "${n}" && test "$files" -ge "1" || return 1
)
-
test_dnstap_roll() {
- echo_i "checking 'rndc -roll $4' ($1)"
- ret=0
-
- try=0
- while test $try -lt 12
- do
- touch "$3/dnstap.out.$try"
- try=$((try + 1))
- done
-
- _repeat 10 _test_dnstap_roll $2 $3 $4 || ret=1
- if [ $ret != 0 ]; then echo_i "failed"; fi
- status=$((status+ret))
+ echo_i "checking 'rndc -roll $4' ($1)"
+ ret=0
+
+ try=0
+ while test $try -lt 12; do
+ touch "$3/dnstap.out.$try"
+ try=$((try + 1))
+ done
+
+ _repeat 10 _test_dnstap_roll $2 $3 $4 || ret=1
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=$((status + ret))
}
start_server --noclean --restart --port "${PORT}" ns3