From: Mark Andrews Date: Tue, 19 May 2020 00:09:51 +0000 (+1000) Subject: Address race in dnssec system test. 'clear signing records' can fail X-Git-Tag: v9.17.2~68^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=353018c0e5a428c8314c103267fcfd18213e9e39;p=thirdparty%2Fbind9.git Address race in dnssec system test. 'clear signing records' can fail as the update triggers by the rndc command to clear the signing records may not have completed by the time the subsequent rndc command to test that the records have been removed is commenced. Loop several times to prevent false negative. --- diff --git a/bin/tests/system/dnssec/tests.sh b/bin/tests/system/dnssec/tests.sh index 894b268ddfa..9d7597c8e2c 100644 --- a/bin/tests/system/dnssec/tests.sh +++ b/bin/tests/system/dnssec/tests.sh @@ -2650,12 +2650,15 @@ status=$((status+ret)) echo_i "clear signing records ($n)" { rndccmd 10.53.0.3 signing -clear all update-nsec3.example > /dev/null; } 2>&1 || ret=1 -sleep 1 -{ rndccmd 10.53.0.3 signing -list update-nsec3.example > signing.out; } 2>&1 -grep -q "No signing records found" signing.out || { - ret=1 - sed 's/^/ns3 /' signing.out | cat_i +check_no_signing_record_found() { + { rndccmd 10.53.0.3 signing -list update-nsec3.example > signing.out; } 2>&1 + grep -q "No signing records found" signing.out || { + sed 's/^/ns3 /' signing.out | cat_i + return 1 + } + return 0 } +retry_quiet 5 check_no_signing_record_found || ret=1 n=$((n+1)) test "$ret" -eq 0 || echo_i "failed" status=$((status+ret))