git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[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 \
Previous: Junio C HamanoNext: Eric Sunshine
Message 13 of 16 in “t4014: fix call to `test_expect_success ()`”
  1. t4014: fix call to `test_expect_success ()`Patrick Steinhardt, Mar 24, 2026
  2. Mirko FainaMar 24, 2026
  3. Junio C HamanoMar 24, 2026
  4. Mirko FainaMar 24, 2026
  5. Junio C HamanoMar 24, 2026
  6. Re* [PATCH] t4014: fix call to `test_expect_success ()`Junio C Hamano, Mar 24, 2026
  7. t6002: make test "set -e" cleanJunio C Hamano, Mar 24, 2026
  8. test-lib: catch misspelt 'test_expect_successo'Junio C Hamano, Mar 24, 2026
  9. Jeff KingMar 24, 2026
  10. Junio C HamanoMar 24, 2026
  11. Jeff KingMar 25, 2026
  12. t0008: make test "set -e" cleanJunio C Hamano, Mar 24, 2026
  13. t7450: make test "set -e" cleanJunio C Hamano, Mar 24, 2026
  14. Eric SunshineMar 24, 2026
  15. Junio C HamanoMar 24, 2026
  16. Patrick SteinhardtMar 25, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.