aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2024-10-04 14:21:41 -0700
committerJunio C Hamano <gitster@pobox.com>2024-10-04 14:21:42 -0700
commitb1c6ed40cde2c0e2fd9b41c51555eba48bce49a8 (patch)
tree657925faa89ff321a8a32cd14403627e7b3885b6
parentd30c2c4c53324f316f2392714a75a8f817121af7 (diff)
parent7355574a226e15a06c07fdcf1c401cf043298e4b (diff)
downloadgit-b1c6ed40cde2c0e2fd9b41c51555eba48bce49a8.tar.gz
Merge branch 'ps/reftable-concurrent-writes'
Test fix. * ps/reftable-concurrent-writes: t0610: work around flaky test with concurrent writers
-rwxr-xr-xt/t0610-reftable-basics.sh17
1 files changed, 12 insertions, 5 deletions
diff --git a/t/t0610-reftable-basics.sh b/t/t0610-reftable-basics.sh
index 2d951c8ceb..babec7993e 100755
--- a/t/t0610-reftable-basics.sh
+++ b/t/t0610-reftable-basics.sh
@@ -450,15 +450,22 @@ test_expect_success 'ref transaction: retry acquiring tables.list lock' '
)
'
-test_expect_success 'ref transaction: many concurrent writers' '
+# This test fails most of the time on Windows systems. The root cause is
+# that Windows does not allow us to rename the "tables.list.lock" file into
+# place when "tables.list" is open for reading by a concurrent process.
+test_expect_success !WINDOWS 'ref transaction: many concurrent writers' '
test_when_finished "rm -rf repo" &&
git init repo &&
(
cd repo &&
- # Set a high timeout such that a busy CI machine will not abort
- # early. 10 seconds should hopefully be ample of time to make
- # this non-flaky.
- git config set reftable.lockTimeout 10000 &&
+ # Set a high timeout. While a couple of seconds should be
+ # plenty, using the address sanitizer will significantly slow
+ # us down here. So we are aiming way higher than you would ever
+ # think is necessary just to keep us from flaking. We could
+ # also lock indefinitely by passing -1, but that could
+ # potentially block CI jobs indefinitely if there was a bug
+ # here.
+ git config set reftable.lockTimeout 300000 &&
test_commit --no-tag initial &&
head=$(git rev-parse HEAD) &&