From 377d845943c989543b0c6673e2bcd6ba2de83b27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SZEDER=20G=C3=A1bor?= Date: Wed, 1 Aug 2018 01:32:48 +0200 Subject: [PATCH] t1404: increase core.packedRefsTimeout to avoid occasional test failure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The test 'no bogus intermediate values during delete' in 't1404-update-ref-errors.sh', added in 6a2a7736d8 (t1404: demonstrate two problems with reference transactions, 2017-09-08), tries to catch undesirable side effects of deleting a ref, both loose and packed, in a transaction. To do so it is holding the packed refs file locked when it starts 'git update-ref -d' in the background with a 3secs 'core.packedRefsTimeout' value. After performing a few checks it is then supposed to unlock the packed refs file before the background 'git update-ref's attempt to acquire the lock times out. While 3secs timeout seems plenty, and indeed is sufficient in most cases, on rare occasions it's just not quite enough: I saw this test fail in Travis CI build jobs two, maybe three times because 'git update-ref' timed out. Increase that timeout by an order of magnitude to 30s to make such an occasional failure even more improbable. This won't make the test run any longer under normal circumstances, because 'git update-ref' will acquire the lock and resume execution as soon as it can. And if it turns out that even this increased timeout is still not enough, then there are most likely bigger problems, e.g. the Travis CI build job will exceed its time limit anyway, or the lockfile module is broken. Signed-off-by: SZEDER Gábor Signed-off-by: Junio C Hamano --- t/t1404-update-ref-errors.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/t/t1404-update-ref-errors.sh b/t/t1404-update-ref-errors.sh index 3a887b5113..372f0b1fbb 100755 --- a/t/t1404-update-ref-errors.sh +++ b/t/t1404-update-ref-errors.sh @@ -559,9 +559,9 @@ test_expect_success 'no bogus intermediate values during delete' ' { # Note: the following command is intentionally run in the # background. We increase the timeout so that `update-ref` - # attempts to acquire the `packed-refs` lock for longer than - # it takes for us to do the check then delete it: - git -c core.packedrefstimeout=3000 update-ref -d $prefix/foo & + # attempts to acquire the `packed-refs` lock for much longer + # than it takes for us to do the check then delete it: + git -c core.packedrefstimeout=30000 update-ref -d $prefix/foo & } && pid2=$! && # Give update-ref plenty of time to get to the point where it tries