From: Lars Schneider Date: Tue, 17 Nov 2015 08:28:07 GMT Subject: Re: [PATCH v5 3/6] git-p4: retry kill/cleanup operations in tests with timeout Message-ID: <52A9F66D-12C4-4BB5-A2D4-C476A1E12DC5@gmail.com> In-Reply-To: On 16 Nov 2015, at 22:14, Eric Sunshine wrote: > 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. While implementing it I thought more about it. P4D is only supported on platforms that support the date function. That means these tests will only run on platforms that support the date function. Consequently I wondered if this would justify the slightly more complicated code. However, if you think this change would help the patch to get accepted then I will add it. Thanks, Lars > > [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 >> +}