From: Ondřej Surý Date: Wed, 20 Nov 2019 16:05:58 +0000 (+0800) Subject: Add retry_quiet() function to retry quietly for an event to occur X-Git-Tag: v9.15.7~69^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=31264a7e003d89581c7110cb0055e22bc69e1653;p=thirdparty%2Fbind9.git Add retry_quiet() function to retry quietly for an event to occur --- diff --git a/bin/tests/system/conf.sh.common b/bin/tests/system/conf.sh.common index c12b8317e63..6e4fafe5124 100644 --- a/bin/tests/system/conf.sh.common +++ b/bin/tests/system/conf.sh.common @@ -374,9 +374,9 @@ nextpartpeek() { nextpartread $1 2> /dev/null } -# retry: keep running a command until it succeeds, up to $1 times, with -# one-second intervals -retry() { +# _retry: keep running a command until it succeeds, up to $1 times, with +# one-second intervals, optionally printing a message upon every attempt +_retry() { __retries="${1}" shift @@ -386,7 +386,9 @@ retry() { fi __retries=$((__retries-1)) if [ "${__retries}" -gt 0 ]; then - echo_i "retrying" + if [ "${__retry_quiet}" -ne 1 ]; then + echo_i "retrying" + fi sleep 1 else return 1 @@ -394,6 +396,18 @@ retry() { done } +# retry: call _retry() in verbose mode +retry() { + __retry_quiet=0 + _retry "$@" +} + +# retry_quiet: call _retry() in silent mode +retry_quiet() { + __retry_quiet=1 + _retry "$@" +} + rndc_reload() { echo_i "`$RNDC -c ../common/rndc.conf -s $2 -p ${CONTROLPORT} reload $3 2>&1 | sed 's/^/'$1' /'`" # reloading single zone is synchronous, if we're reloading whole server