From: Eric Sunshine Date: Mon, 16 Nov 2015 21:14:06 GMT Subject: Re: [PATCH v5 3/6] git-p4: retry kill/cleanup operations in tests with timeout Message-ID: In-Reply-To: <1447592920-89228-4-git-send-email-larsxschneider@gmail.com> On Sun, Nov 15, 2015 at 8:08 AM, wrote: > From: Lars Schneider > > In rare cases kill/cleanup operations in tests fail. Retry these > operations with a timeout to make the test less flaky. > > Signed-off-by: Lars Schneider > --- > diff --git a/t/lib-git-p4.sh b/t/lib-git-p4.sh > @@ -121,22 +125,33 @@ p4_add_user() { > EOF > } > > +retry_until_success() { > + timeout=$(($(date +%s) + $RETRY_TIMEOUT)) There was some discussion previously[1] about detecting dynamically whether 'date +%s' was supported. Was this something that you intended to do, or did you decide against it since p4 is not supported on such platforms? Same question also applies to patch 4/6. [1]: http://article.gmane.org/gmane.comp.version-control.git/280978/match=lazy+prerequisite > + until "$@" 2>/dev/null || test $(date +%s) -gt $timeout > + do : > + done > +} > + > +retry_until_fail() { > + timeout=$(($(date +%s) + $RETRY_TIMEOUT)) > + until ! "$@" 2>/dev/null || test $(date +%s) -gt $timeout > + do : > + done > +}