diff options
author | Jacob Abel <jacobabel@nullpo.dev> | 2023-05-18 00:48:35 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-05-18 01:55:24 +0300 |
commit | ed6db0e9fff14590f501eba24f91be1867e5e346 (patch) | |
tree | 65415f1fea6558e0adc597af44b0b344409a2d5a /t/t2400-worktree-add.sh | |
parent | 1b28fbd218cbefc9e5aa8c23d241b7cc8ee85878 (diff) |
t2400: refactor "worktree add" opt exclusion tests
Pull duplicate test code into a function so that additional opt
combinations can be tested succinctly.
Signed-off-by: Jacob Abel <jacobabel@nullpo.dev>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t2400-worktree-add.sh')
-rwxr-xr-x | t/t2400-worktree-add.sh | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/t/t2400-worktree-add.sh b/t/t2400-worktree-add.sh index a3f108347a..0ca3ec2022 100755 --- a/t/t2400-worktree-add.sh +++ b/t/t2400-worktree-add.sh @@ -298,17 +298,20 @@ test_expect_success '"add" no auto-vivify with --detach and <branch> omitted' ' test_must_fail git -C mish/mash symbolic-ref HEAD ' -test_expect_success '"add" -b/-B mutually exclusive' ' - test_must_fail git worktree add -b poodle -B poodle bamboo main -' - -test_expect_success '"add" -b/--detach mutually exclusive' ' - test_must_fail git worktree add -b poodle --detach bamboo main -' +# Helper function to test mutually exclusive options. +# +# Note: Quoted arguments containing spaces are not supported. +test_wt_add_excl () { + local opts="$*" && + test_expect_success "'worktree add' with '$opts' has mutually exclusive options" ' + test_must_fail git worktree add $opts 2>actual && + grep -E "fatal:( options)? .* cannot be used together" actual + ' +} -test_expect_success '"add" -B/--detach mutually exclusive' ' - test_must_fail git worktree add -B poodle --detach bamboo main -' +test_wt_add_excl -b poodle -B poodle bamboo main +test_wt_add_excl -b poodle --detach bamboo main +test_wt_add_excl -B poodle --detach bamboo main test_expect_success '"add -B" fails if the branch is checked out' ' git rev-parse newmain >before && |