mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 22:45:39 +00:00
Ignore dig errors in +short comparisons in tests
Tests using diff to compare outputs of dig +short shall ignore lines starting with ";". In dig +short output, such lines should only be present for errors such as network issues. Since we utilize dig's default timeout/retry mechanisms, these transitory issues should be ignored and only the final output should be considered during the diff comparison.
This commit is contained in:
@@ -960,7 +960,7 @@ do
|
||||
sleep 1
|
||||
done
|
||||
# Sanity check: the SOA record should be unchanged
|
||||
$DIG $DIGOPTS +short @10.53.0.3 primary SOA > dig.out.ns3.test$n.2 || ret=1
|
||||
$DIG $DIGOPTS +short @10.53.0.3 primary SOA | grep -v '^;' > dig.out.ns3.test$n.2
|
||||
diff dig.out.ns3.test$n.1 dig.out.ns3.test$n.2 > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
status=$((status + ret))
|
||||
@@ -984,7 +984,7 @@ _includefile_loaded() {
|
||||
}
|
||||
retry_quiet 10 _includefile_loaded
|
||||
# Sanity check: the SOA record should be changed
|
||||
$DIG $DIGOPTS +short @10.53.0.3 primary SOA > dig.out.ns3.test$n.2 || ret=1
|
||||
$DIG $DIGOPTS +short @10.53.0.3 primary SOA | grep -v '^;' > dig.out.ns3.test$n.2
|
||||
diff dig.out.ns3.test$n.1 dig.out.ns3.test$n.2 > /dev/null && ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
status=$((status + ret))
|
||||
|
@@ -18,12 +18,17 @@ n=0
|
||||
|
||||
DIGOPTS="-p ${PORT}"
|
||||
|
||||
dig_cmd() {
|
||||
# shellcheck disable=SC2086
|
||||
"$DIG" $DIGOPTS "$@" | grep -v '^;'
|
||||
}
|
||||
|
||||
n=$((n+1))
|
||||
echo_i "querying for various representations of an IN A record ($n)"
|
||||
for i in 1 2 3 4 5 6 7 8 9 10 11 12
|
||||
do
|
||||
ret=0
|
||||
$DIG +short $DIGOPTS @10.53.0.1 a$i.example a in > dig.out.$i.test$n || ret=1
|
||||
dig_cmd +short @10.53.0.1 a$i.example a in > dig.out.$i.test$n
|
||||
echo 10.0.0.1 | diff - dig.out.$i.test$n || ret=1
|
||||
if [ $ret != 0 ]
|
||||
then
|
||||
@@ -37,7 +42,7 @@ echo_i "querying for various representations of an IN TXT record ($n)"
|
||||
for i in 1 2 3 4 5 6 7
|
||||
do
|
||||
ret=0
|
||||
$DIG +short $DIGOPTS @10.53.0.1 txt$i.example txt in > dig.out.$i.test$n || ret=1
|
||||
dig_cmd +short @10.53.0.1 txt$i.example txt in > dig.out.$i.test$n
|
||||
echo '"hello"' | diff - dig.out.$i.test$n || ret=1
|
||||
if [ $ret != 0 ]
|
||||
then
|
||||
@@ -51,7 +56,7 @@ echo_i "querying for various representations of an IN TYPE123 record ($n)"
|
||||
for i in 1 2 3
|
||||
do
|
||||
ret=0
|
||||
$DIG +short $DIGOPTS @10.53.0.1 unk$i.example type123 in > dig.out.$i.test$n || ret=1
|
||||
dig_cmd +short @10.53.0.1 unk$i.example type123 in > dig.out.$i.test$n
|
||||
echo '\# 1 00' | diff - dig.out.$i.test$n || ret=1
|
||||
if [ $ret != 0 ]
|
||||
then
|
||||
@@ -63,7 +68,7 @@ done
|
||||
n=$((n+1))
|
||||
echo_i "querying for NULL record ($n)"
|
||||
ret=0
|
||||
$DIG +short $DIGOPTS @10.53.0.1 null.example null in > dig.out.test$n || ret=1
|
||||
dig_cmd +short @10.53.0.1 null.example null in > dig.out.test$n
|
||||
echo '\# 1 00' | diff - dig.out.test$n || ret=1
|
||||
[ $ret = 0 ] || echo_i "failed"
|
||||
status=`expr $status + $ret`
|
||||
@@ -71,7 +76,7 @@ status=`expr $status + $ret`
|
||||
n=$((n+1))
|
||||
echo_i "querying for empty NULL record ($n)"
|
||||
ret=0
|
||||
$DIG +short $DIGOPTS @10.53.0.1 empty.example null in > dig.out.test$n || ret=1
|
||||
dig_cmd +short @10.53.0.1 empty.example null in > dig.out.test$n
|
||||
echo '\# 0' | diff - dig.out.test$n || ret=1
|
||||
[ $ret = 0 ] || echo_i "failed"
|
||||
status=`expr $status + $ret`
|
||||
@@ -81,7 +86,7 @@ echo_i "querying for various representations of a CLASS10 TYPE1 record ($n)"
|
||||
for i in 1 2
|
||||
do
|
||||
ret=0
|
||||
$DIG +short $DIGOPTS @10.53.0.1 a$i.example a class10 > dig.out.$i.test$n || ret=1
|
||||
dig_cmd +short @10.53.0.1 a$i.example a class10 > dig.out.$i.test$n
|
||||
echo '\# 4 0A000001' | diff - dig.out.$i.test$n || ret=1
|
||||
if [ $ret != 0 ]
|
||||
then
|
||||
@@ -95,7 +100,7 @@ echo_i "querying for various representations of a CLASS10 TXT record ($n)"
|
||||
for i in 1 2 3 4
|
||||
do
|
||||
ret=0
|
||||
$DIG +short $DIGOPTS @10.53.0.1 txt$i.example txt class10 > dig.out.$i.test$n || ret=1
|
||||
dig_cmd +short @10.53.0.1 txt$i.example txt class10 > dig.out.$i.test$n
|
||||
echo '"hello"' | diff - dig.out.$i.test$n || ret=1
|
||||
if [ $ret != 0 ]
|
||||
then
|
||||
@@ -109,7 +114,7 @@ echo_i "querying for various representations of a CLASS10 TYPE123 record ($n)"
|
||||
for i in 1 2
|
||||
do
|
||||
ret=0
|
||||
$DIG +short $DIGOPTS @10.53.0.1 unk$i.example type123 class10 > dig.out.$i.test$n || ret=1
|
||||
dig_cmd +short @10.53.0.1 unk$i.example type123 class10 > dig.out.$i.test$n
|
||||
echo '\# 1 00' | diff - dig.out.$i.test$n || ret=1
|
||||
if [ $ret != 0 ]
|
||||
then
|
||||
@@ -136,7 +141,7 @@ n=$((n+1))
|
||||
echo_i "checking large unknown record loading on primary ($n)"
|
||||
for try in 0 1 2 3 4 5 6 7 8 9; do
|
||||
ret=0
|
||||
$DIG $DIGOPTS @10.53.0.1 +tcp +short large.example TYPE45234 > dig.out.$i.test$n || { ret=1 ; echo_i "dig failed" ; }
|
||||
dig_cmd @10.53.0.1 +tcp +short large.example TYPE45234 > dig.out.$i.test$n
|
||||
diff -s large.out dig.out.$i.test$n > /dev/null || { ret=1 ; echo_i "diff failed"; }
|
||||
[ "$ret" -eq 0 ] && break
|
||||
sleep 1
|
||||
@@ -148,7 +153,7 @@ n=$((n+1))
|
||||
echo_i "checking large unknown record loading on secondary ($n)"
|
||||
for try in 0 1 2 3 4 5 6 7 8 9; do
|
||||
ret=0
|
||||
$DIG $DIGOPTS @10.53.0.2 +tcp +short large.example TYPE45234 > dig.out.$i.test$n || { ret=1 ; echo_i "dig failed" ; }
|
||||
dig_cmd @10.53.0.2 +tcp +short large.example TYPE45234 > dig.out.$i.test$n
|
||||
diff -s large.out dig.out.$i.test$n > /dev/null || { ret=1 ; echo_i "diff failed"; }
|
||||
[ "$ret" -eq 0 ] && break
|
||||
sleep 1
|
||||
@@ -166,7 +171,7 @@ n=$((n+1))
|
||||
echo_i "checking large unknown record loading on secondary ($n)"
|
||||
for try in 0 1 2 3 4 5 6 7 8 9; do
|
||||
ret=0
|
||||
$DIG $DIGOPTS @10.53.0.2 +tcp +short large.example TYPE45234 > dig.out.$i.test$n || { ret=1 ; echo_i "dig failed" ; }
|
||||
dig_cmd @10.53.0.2 +tcp +short large.example TYPE45234 > dig.out.$i.test$n
|
||||
diff -s large.out dig.out.$i.test$n > /dev/null || { ret=1 ; echo_i "diff failed"; }
|
||||
[ "$ret" -eq 0 ] && break
|
||||
sleep 1
|
||||
@@ -177,7 +182,7 @@ status=`expr $status + $ret`
|
||||
n=$((n+1))
|
||||
echo_i "checking large unknown record loading on inline secondary ($n)"
|
||||
ret=0
|
||||
$DIG $DIGOPTS @10.53.0.3 +tcp +short large.example TYPE45234 > dig.out.test$n || { ret=1 ; echo_i "dig failed" ; }
|
||||
dig_cmd @10.53.0.3 +tcp +short large.example TYPE45234 > dig.out.test$n
|
||||
diff large.out dig.out.test$n > /dev/null || { ret=1 ; echo_i "diff failed"; }
|
||||
[ $ret = 0 ] || echo_i "failed"
|
||||
status=`expr $status + $ret`
|
||||
@@ -192,7 +197,7 @@ n=$((n+1))
|
||||
echo_i "checking large unknown record loading on inline secondary ($n)"
|
||||
for try in 0 1 2 3 4 5 6 7 8 9; do
|
||||
ret=0
|
||||
$DIG $DIGOPTS @10.53.0.3 +tcp +short large.example TYPE45234 > dig.out.$i.test$n || { ret=1 ; echo_i "dig failed" ; }
|
||||
dig_cmd @10.53.0.3 +tcp +short large.example TYPE45234 > dig.out.$i.test$n
|
||||
diff large.out dig.out.$i.test$n > /dev/null || { ret=1 ; echo_i "diff failed"; }
|
||||
[ "$ret" -eq 0 ] && break
|
||||
sleep 1
|
||||
@@ -203,7 +208,7 @@ status=`expr $status + $ret`
|
||||
n=$((n+1))
|
||||
echo_i "check that '"'"\\#"'"' is not treated as the unknown escape sequence ($n)"
|
||||
ret=0
|
||||
$DIG $DIGOPTS @10.53.0.1 +tcp +short txt8.example txt > dig.out.test$n
|
||||
dig_cmd @10.53.0.1 +tcp +short txt8.example txt > dig.out.test$n
|
||||
echo '"#" "2" "0145"' | diff - dig.out.test$n || ret=1
|
||||
[ $ret = 0 ] || echo_i "failed"
|
||||
status=`expr $status + $ret`
|
||||
@@ -211,7 +216,7 @@ status=`expr $status + $ret`
|
||||
n=$((n+1))
|
||||
echo_i "check that 'TXT \# text' is not treated as the unknown escape sequence ($n)"
|
||||
ret=0
|
||||
$DIG $DIGOPTS @10.53.0.1 +tcp +short txt9.example txt > dig.out.test$n
|
||||
dig_cmd @10.53.0.1 +tcp +short txt9.example txt > dig.out.test$n
|
||||
echo '"#" "text"' | diff - dig.out.test$n || ret=1
|
||||
[ $ret = 0 ] || echo_i "failed"
|
||||
status=`expr $status + $ret`
|
||||
|
Reference in New Issue
Block a user