Handle non-zero return codes in rpzrecurse test

(cherry picked from commit 247b608f62)
This commit is contained in:
Tom Krizek 2023-06-15 15:08:26 +02:00
parent 881e4af8ed
commit d34f1aac27
No known key found for this signature in database
GPG key ID: 01623B9B652A20A7

View file

@ -99,6 +99,7 @@ expect_recurse() {
echo_i "test ${t} failed"
status=1
}
return 0
}
add_test_marker() {
@ -108,6 +109,8 @@ add_test_marker() {
done
}
native=0
dnsrps=0
for mode in native dnsrps; do
status=0
case $mode in
@ -255,7 +258,7 @@ for mode in native dnsrps; do
cp ns2/db.6a.00.policy.local ns2/saved.policy.local
cp ns2/db.6b.00.policy.local ns2/db.6a.00.policy.local
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p ${CONTROLPORT} reload 6a.00.policy.local 2>&1 | sed 's/^/ns2 /' | cat_i
test -f dnsrpzd.pid && kill -USR1 `cat dnsrpzd.pid`
test -f dnsrpzd.pid && kill -USR1 `cat dnsrpzd.pid` || true
sleep 1
t=$((t + 1))
echo_i "running dig to follow CNAME (blocks, so runs in the background) (${t})"
@ -265,7 +268,7 @@ for mode in native dnsrps; do
echo_i "removing the NSDNAME policy"
cp ns2/db.6c.00.policy.local ns2/db.6a.00.policy.local
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p ${CONTROLPORT} reload 6a.00.policy.local 2>&1 | sed 's/^/ns2 /' | cat_i
test -f dnsrpzd.pid && kill -USR1 `cat dnsrpzd.pid`
test -f dnsrpzd.pid && kill -USR1 `cat dnsrpzd.pid` || true
sleep 1
echo_i "resuming authority server"
PID=`cat ns1/named.pid`
@ -297,7 +300,7 @@ for mode in native dnsrps; do
echo_i "adding an NSDNAME policy"
cp ns2/db.6b.00.policy.local ns2/db.6a.00.policy.local
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p ${CONTROLPORT} reload 6a.00.policy.local 2>&1 | sed 's/^/ns2 /' | cat_i
test -f dnsrpzd.pid && kill -USR1 `cat dnsrpzd.pid`
test -f dnsrpzd.pid && kill -USR1 `cat dnsrpzd.pid` || true
sleep 1
t=$((t + 1))
echo_i "running dig to follow CNAME (blocks, so runs in the background) (${t})"
@ -307,7 +310,7 @@ for mode in native dnsrps; do
echo_i "removing the policy zone"
cp ns2/named.default.conf ns2/named.conf
rndc_reconfig ns2 10.53.0.2
test -f dnsrpzd.pid && kill -USR1 `cat dnsrpzd.pid`
test -f dnsrpzd.pid && kill -USR1 `cat dnsrpzd.pid` || true
sleep 1
echo_i "resuming authority server"
PID=`cat ns1/named.pid`
@ -555,6 +558,6 @@ for mode in native dnsrps; do
*) echo_i "invalid test mode";;
esac
done
status=`expr ${native:-0} + ${dnsrps:-0}`
status=$((native + dnsrps))
[ $status -eq 0 ] || exit 1