From: Mark Andrews Date: Wed, 17 Aug 2022 02:08:16 +0000 (+1000) Subject: Improve awk tests to prevent false negatives X-Git-Tag: v9.19.5~34^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8fe2876297e82340bf6bf867f0a472804d6d5e65;p=thirdparty%2Fbind9.git Improve awk tests to prevent false negatives The old code could incorrectly match "INSOA" in the RRSIG rdata when looking for the SOA record. --- diff --git a/bin/tests/system/dnssec/tests.sh b/bin/tests/system/dnssec/tests.sh index f1be7c0b568..9f36160c8a0 100644 --- a/bin/tests/system/dnssec/tests.sh +++ b/bin/tests/system/dnssec/tests.sh @@ -1804,8 +1804,12 @@ $SIGNER -O raw -f signer.out.5 -Sxt -o example example.db > /dev/null $SIGNER -O raw=0 -f signer.out.6 -Sxt -o example example.db > /dev/null $SIGNER -O raw -f - -Sxt -o example example.db > signer.out.7 2> /dev/null ) || ret=1 -awk '/IN *SOA/ {if (NF != 11) exit(1)}' signer/signer.out.3 || ret=1 -awk '/IN *SOA/ {if (NF != 7) exit(1)}' signer/signer.out.4 || ret=1 +awk 'BEGIN { found = 0; } + $1 == "example." && $3 == "IN" && $4 == "SOA" { found = 1; if (NF != 11) exit(1); } + END { if (!found) exit(1); }' signer/signer.out.3 || ret=1 +awk 'BEGIN { found = 0; } + $1 == "example." && $3 == "IN" && $4 == "SOA" { found = 1; if (NF != 7) exit(1); } + END { if (!found) exit(1); }' signer/signer.out.4 || ret=1 israw1 signer/signer.out.5 || ret=1 israw0 signer/signer.out.6 || ret=1 israw1 signer/signer.out.7 || ret=1