From 699bcc70ca65836aa89c8eebfdb225dc7aded600 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Thu, 21 Nov 2019 00:05:58 +0800 Subject: [PATCH] Add retry_quiet() function to retry quietly for an event to occur (cherry picked from commit 31264a7e003d89581c7110cb0055e22bc69e1653) --- bin/tests/system/conf.sh.common | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/bin/tests/system/conf.sh.common b/bin/tests/system/conf.sh.common index 41daad51c6..e82d739954 100644 --- a/bin/tests/system/conf.sh.common +++ b/bin/tests/system/conf.sh.common @@ -338,9 +338,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 @@ -350,7 +350,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 @@ -358,6 +360,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