summaryrefslogtreecommitdiffstats
path: root/t
diff options
context:
space:
mode:
Diffstat (limited to 't')
-rwxr-xr-xt/t1300-config.sh17
-rwxr-xr-xt/t3200-branch.sh6
-rwxr-xr-xt/t5505-remote.sh3
3 files changed, 23 insertions, 3 deletions
diff --git a/t/t1300-config.sh b/t/t1300-config.sh
index a00314d077..a68ec92bdb 100755
--- a/t/t1300-config.sh
+++ b/t/t1300-config.sh
@@ -2993,4 +2993,21 @@ test_expect_success 'writing value with trailing CR not stripped on read' '
test_cmp expect actual
'
+test_expect_success 'writing config fails immediately with core.configLockTimeout=0' '
+ test_when_finished "rm -f .git/config.lock" &&
+ >.git/config.lock &&
+ test_must_fail git -c core.configLockTimeout=0 config foo.bar baz 2>err &&
+ test_grep "could not lock config file" err
+'
+
+test_expect_success 'writing config retries until lock is released' '
+ test_when_finished "rm -f .git/config.lock" &&
+ >.git/config.lock &&
+ {
+ ( sleep 1 && rm -f .git/config.lock ) &
+ } &&
+ git -c core.configLockTimeout=5000 config retried.key value &&
+ test "$(git config retried.key)" = value
+'
+
test_done
diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh
index a36e5ee80a..58c23a7702 100755
--- a/t/t3200-branch.sh
+++ b/t/t3200-branch.sh
@@ -1037,7 +1037,8 @@ test_expect_success '--set-upstream-to fails on locked config' '
test_when_finished "rm -f .git/config.lock" &&
>.git/config.lock &&
git branch locked &&
- test_must_fail git branch --set-upstream-to locked 2>err &&
+ test_must_fail git -c core.configLockTimeout=0 \
+ branch --set-upstream-to locked 2>err &&
test_grep "could not lock config file .git/config" err
'
@@ -1068,7 +1069,8 @@ test_expect_success '--unset-upstream should fail if config is locked' '
test_when_finished "rm -f .git/config.lock" &&
git branch --set-upstream-to locked &&
>.git/config.lock &&
- test_must_fail git branch --unset-upstream 2>err &&
+ test_must_fail git -c core.configLockTimeout=0 \
+ branch --unset-upstream 2>err &&
test_grep "could not lock config file .git/config" err
'
diff --git a/t/t5505-remote.sh b/t/t5505-remote.sh
index e592c0bcde..aea9222649 100755
--- a/t/t5505-remote.sh
+++ b/t/t5505-remote.sh
@@ -1327,7 +1327,8 @@ test_expect_success 'remote set-url with locked config' '
test_when_finished "rm -f .git/config.lock" &&
git config --get-all remote.someremote.url >expect &&
>.git/config.lock &&
- test_must_fail git remote set-url someremote baz &&
+ test_must_fail git -c core.configLockTimeout=0 \
+ remote set-url someremote baz &&
git config --get-all remote.someremote.url >actual &&
cmp expect actual
'