Pádraig Brady wrote: > No time now. It's a very minor issue. > I'll look after the release. > > p.s. My laptop is a bit mangled ATM
Ouch! Good luck. FTR, this does what I intended, but isn't complete either, since it doesn't check the max_n_tries parameter. I'm debating how much internal arg checking is warranted for test-only code like this. >From 21ff95d56601735e6db0c1235dee627f15e5eb1a Mon Sep 17 00:00:00 2001 From: Jim Meyering <[email protected]> Date: Mon, 8 Nov 2010 13:11:05 +0100 Subject: [PATCH] tests: diagnose potential internal error * tests/init.cfg (retry_delay_): Fail upon invalid init_delay, and remove now-unneeded quotes in awk invocation. --- tests/init.cfg | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/tests/init.cfg b/tests/init.cfg index 97dad17..ad46079 100644 --- a/tests/init.cfg +++ b/tests/init.cfg @@ -383,17 +383,21 @@ working_umask_or_skip_() retry_delay_() { local test_func=$1 local init_delay=$2 local max_n_tries=$3 + case $init_delay in + ''|[^+.0-9]) fail_ "invalid delay: $init_delay; internal error" + esac + local attempt=1 local num_sleeps=$attempt local time_fail while test $attempt -le $max_n_tries; do - local delay=$($AWK -v n=$num_sleeps -v s="$init_delay" \ + local delay=$($AWK -v n=$num_sleeps -v s=$init_delay \ 'BEGIN { print s * n }') "$test_func" "$delay" && { time_fail=0; break; } || time_fail=1 attempt=$(expr $attempt + 1) num_sleeps=$(expr $num_sleeps '*' 2) done test "$time_fail" = 0 -- 1.7.3.2.332.gec4f8
