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

[PATCH 8/8] t9902: don't use `test_must_fail __git_*`

From
Denton Liu <liu.denton@gmail.com>
Date
Apr 20, 2020, 08:54 UTC
Message-ID
<6cfa2c447e1196d6c4325aff9fac52434d10fda8.1587372771.git.liu.denton@gmail.com>
In-Reply-To
<cover.1587372771.git.liu.denton@gmail.com>

We should only use test_must_fail() to test git commands. Replace `test_must_fail` with `!` so that we don't use test_must_fail() on the completion functions.

This is done because test_must_fail() is used to except git exiting with an expected error but it will still return an error if it detects unexpected errors such as a segfault. In the case of these completion functions, the return codes of the git commands aren't checked and, most of the time, they will just explicitly return 1 or have an unrelated command return 0. As a result, it doesn't really make sense to use `test_must_fail` so use `!` instead.

Signed-off-by: Denton Liu <liu.denton@gmail.com>
---
 t/t9902-completion.sh | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh
index 5505e5aa24..320c755971 100755
--- a/t/t9902-completion.sh
+++ b/t/t9902-completion.sh
@@ -294,7 +294,7 @@ test_expect_success '__git_find_repo_path - "git -C" while .git directory in par
 test_expect_success '__git_find_repo_path - non-existing path in "git -C"' '
 	(
 		__git_C_args=(-C non-existing) &&
-		test_must_fail __git_find_repo_path &&
+		! __git_find_repo_path &&
 		printf "$__git_repo_path" >"$actual"
 	) &&
 	test_must_be_empty "$actual"
@@ -303,7 +303,7 @@ test_expect_success '__git_find_repo_path - non-existing path in "git -C"' '
 test_expect_success '__git_find_repo_path - non-existing path in $__git_dir' '
 	(
 		__git_dir="non-existing" &&
-		test_must_fail __git_find_repo_path &&
+		! __git_find_repo_path &&
 		printf "$__git_repo_path" >"$actual"
 	) &&
 	test_must_be_empty "$actual"
@@ -313,7 +313,7 @@ test_expect_success '__git_find_repo_path - non-existing $GIT_DIR' '
 	(
 		GIT_DIR="$ROOT/non-existing" &&
 		export GIT_DIR &&
-		test_must_fail __git_find_repo_path &&
+		! __git_find_repo_path &&
 		printf "$__git_repo_path" >"$actual"
 	) &&
 	test_must_be_empty "$actual"
@@ -362,7 +362,7 @@ test_expect_success '__git_find_repo_path - not a git repository' '
 		cd non-repo &&
 		GIT_CEILING_DIRECTORIES="$ROOT" &&
 		export GIT_CEILING_DIRECTORIES &&
-		test_must_fail __git_find_repo_path &&
+		! __git_find_repo_path &&
 		printf "$__git_repo_path" >"$actual"
 	) &&
 	test_must_be_empty "$actual"
@@ -381,7 +381,7 @@ test_expect_success '__gitdir - finds repo' '
 test_expect_success '__gitdir - returns error when cannot find repo' '
 	(
 		__git_dir="non-existing" &&
-		test_must_fail __gitdir >"$actual"
+		! __gitdir >"$actual"
 	) &&
 	test_must_be_empty "$actual"
 '
@@ -608,7 +608,7 @@ test_expect_success '__git_is_configured_remote' '
 	git remote add remote_2 git://remote_2 &&
 	(
 		verbose __git_is_configured_remote remote_2 &&
-		test_must_fail __git_is_configured_remote non-existent
+		! __git_is_configured_remote non-existent
 	)
 '
 
-- 
2.26.0.159.g23e2136ad0
Previous: Junio C HamanoNext: Johannes Sixt
Message 16 of 20 in “t: replace incorrect test_must_fail usage (part 4)”
  1. 0/8 t: replace incorrect test_must_fail usage (part 4)Denton Liu, Apr 20, 2020
  2. 2/8 t7408: replace incorrect uses of test_must_failDenton Liu, Apr 20, 2020
  3. 3/8 t7508: don't use `test_must_fail test_cmp`Denton Liu, Apr 20, 2020
  4. Johannes SixtApr 21, 2020
  5. 1/8 t6030: use test_path_is_missing()Denton Liu, Apr 20, 2020
  6. 4/8 t9141: use test_path_is_missing()Denton Liu, Apr 20, 2020
  7. 5/8 t9160: use test_path_is_missing()Denton Liu, Apr 20, 2020
  8. 6/8 t9164: don't use `test_must_fail test_cmp`Denton Liu, Apr 20, 2020
  9. Eric SunshineApr 20, 2020
  10. Junio C HamanoApr 20, 2020
  11. Eric SunshineApr 20, 2020
  12. Denton LiuApr 21, 2020
  13. Junio C HamanoApr 21, 2020
  14. Denton LiuApr 22, 2020
  15. Junio C HamanoApr 22, 2020
  16. 8/8 t9902: don't use `test_must_fail __git_*`Denton Liu, Apr 20, 2020
  17. Johannes SixtApr 21, 2020
  18. Denton LiuApr 22, 2020
  19. 7/8 t9819: don't use test_must_fail with p4Denton Liu, Apr 20, 2020
  20. Derrick StoleeApr 20, 2020

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.