[PATCH] t7450: make test "set -e" clean
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 24, 2026, 18:32 UTC
- Message-ID
- <xmqqbjgdyt6l.fsf_-_@gitster.g>
- In-Reply-To
- <xmqqcy0t178a.fsf_-_@gitster.g>
In order to catch mistakes like misspelling "test_expect_success", we would like to eventually be able to run our test suite with the "-e" option on.
Often we write "A && test_expect_success ..." and want it to mean "If and only if A holds true, this needs to be tested", but under "set -e", this will cause failure when A does not hold true. We need to write "!A || test_expect_success ..." if we want to run the test conditionally.
Or write it properly with if/then/fi, perhaps like:
if ! A then test_expect_success ... fi
Make sure we do not fail unnecessarily under "set -e".
Signed-off-by: Junio C Hamano <gitster@pobox.com> --- t/t7450-bad-git-dotfiles.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git i/t/t7450-bad-git-dotfiles.sh w/t/t7450-bad-git-dotfiles.sh index f512eed278..047e4085d7 100755 --- i/t/t7450-bad-git-dotfiles.sh +++ w/t/t7450-bad-git-dotfiles.sh @@ -220,7 +220,7 @@ check_dotx_symlink () { ) ' - test -n "$refuse_index" && + test -z "$refuse_index" || test_expect_success "refuse to load symlinked $name into index ($type)" ' test_must_fail \ git -C $dir \