From: Michał Kępień Date: Wed, 20 Mar 2019 07:46:58 +0000 (+0100) Subject: Wait until "rndc dumpdb" completes X-Git-Tag: v9.15.0~70^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6e3f812afc876f4813aedda32340984b6bf5c9b3;p=thirdparty%2Fbind9.git Wait until "rndc dumpdb" completes "rndc dumpdb" works asynchronously, i.e. the requested dump may not yet be fully written to disk by the time "rndc" returns. Prevent false positives for the "serve-stale" system test by only checking dump contents after the line indicating that it is complete is written. --- diff --git a/bin/tests/system/serve-stale/tests.sh b/bin/tests/system/serve-stale/tests.sh index fa7719089ce..a74b39efe0b 100755 --- a/bin/tests/system/serve-stale/tests.sh +++ b/bin/tests/system/serve-stale/tests.sh @@ -97,6 +97,10 @@ grep "data\.example\..*2.*IN.*TXT.*A text record with a 1 second ttl" dig.out.te # The max-stale-ttl is 3600 seconds, so the comment should say the data is # stale for somewhere between 3500-3599 seconds. $RNDCCMD 10.53.0.1 dumpdb > rndc.out.test$n 2>&1 || ret=1 +for i in 0 1 2 3 4 5 6 7 8 9; do + grep '^; Dump complete$' ns1/named_dump1.db > /dev/null 2>&1 && break + sleep 1 +done awk '/; stale/ { x=$0; getline; print x, $0}' ns1/named_dump1.db | grep "; stale (will be retained for 35.. more seconds) data\.example.*A text record with a 1 second ttl" > /dev/null 2>&1 || ret=1 # Also make sure the not expired data does not have a stale comment.