diff options
Diffstat (limited to 't/t2401-worktree-prune.sh')
| -rwxr-xr-x | t/t2401-worktree-prune.sh | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/t/t2401-worktree-prune.sh b/t/t2401-worktree-prune.sh index 568a47ec42..aa5b42c0f7 100755 --- a/t/t2401-worktree-prune.sh +++ b/t/t2401-worktree-prune.sh @@ -5,7 +5,6 @@ test_description='prune $GIT_DIR/worktrees' GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME -TEST_PASSES_SANITIZE_LEAK=true . ./test-lib.sh test_expect_success initialize ' @@ -47,7 +46,7 @@ test_expect_success SANITY 'prune directories with unreadable gitdir' ' : >.git/worktrees/def/gitdir && chmod u-r .git/worktrees/def/gitdir && git worktree prune --verbose 2>actual && - test_i18ngrep "Removing worktrees/def: unable to read gitdir file" actual && + test_grep "Removing worktrees/def: unable to read gitdir file" actual && ! test -d .git/worktrees/def && ! test -d .git/worktrees ' @@ -57,7 +56,7 @@ test_expect_success 'prune directories with invalid gitdir' ' : >.git/worktrees/def/def && : >.git/worktrees/def/gitdir && git worktree prune --verbose 2>actual && - test_i18ngrep "Removing worktrees/def: invalid gitdir file" actual && + test_grep "Removing worktrees/def: invalid gitdir file" actual && ! test -d .git/worktrees/def && ! test -d .git/worktrees ' @@ -67,7 +66,7 @@ test_expect_success 'prune directories with gitdir pointing to nowhere' ' : >.git/worktrees/def/def && echo "$(pwd)"/nowhere >.git/worktrees/def/gitdir && git worktree prune --verbose 2>actual && - test_i18ngrep "Removing worktrees/def: gitdir file points to non-existent location" actual && + test_grep "Removing worktrees/def: gitdir file points to non-existent location" actual && ! test -d .git/worktrees/def && ! test -d .git/worktrees ' @@ -103,7 +102,7 @@ test_expect_success 'prune duplicate (linked/linked)' ' sed "s/w2/w1/" .git/worktrees/w2/gitdir >.git/worktrees/w2/gitdir.new && mv .git/worktrees/w2/gitdir.new .git/worktrees/w2/gitdir && git worktree prune --verbose 2>actual && - test_i18ngrep "duplicate entry" actual && + test_grep "duplicate entry" actual && test -d .git/worktrees/w1 && ! test -d .git/worktrees/w2 ' @@ -116,8 +115,27 @@ test_expect_success 'prune duplicate (main/linked)' ' rm -fr wt && mv repo wt && git -C wt worktree prune --verbose 2>actual && - test_i18ngrep "duplicate entry" actual && + test_grep "duplicate entry" actual && ! test -d .git/worktrees/wt ' +test_expect_success 'not prune proper worktrees when run inside linked worktree' ' + test_when_finished rm -rf repo wt_ext && + git init repo && + ( + cd repo && + echo content >file && + git add file && + git commit -m msg && + git worktree add ../wt_ext && + git worktree add wt_int && + cd wt_int && + git worktree prune -v >out && + test_must_be_empty out && + cd ../../wt_ext && + git worktree prune -v >out && + test_must_be_empty out + ) +' + test_done |
