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

[PATCH v2 8/8] t5801: teach compare_refs() to accept !

From
Denton Liu <liu.denton@gmail.com>
Date
Mar 26, 2020, 08:27 UTC
Message-ID
<6a9d3cef2a0daf1b058921bd0cd3397f7753e537.1585209554.git.liu.denton@gmail.com>
In-Reply-To
<cover.1585209554.git.liu.denton@gmail.com>

Before, testing if two refs weren't equal with compare_refs() was done with `test_must_fail compare_refs`. This was wrong for two reasons. First, test_must_fail should only be used on git commands. Second, negating the error code is a little heavy-handed since in the case where one of the git invocations within compare_refs() fails, we will report success, even though it failed at an unexpected point.

Teach compare_refs() to accept `!` as the first argument which would _only_ negate the test_cmp()'s return code.

Signed-off-by: Denton Liu <liu.denton@gmail.com>
---
 t/t5801-remote-helpers.sh | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/t/t5801-remote-helpers.sh b/t/t5801-remote-helpers.sh
index 121e5c6edb..0f04b6cddb 100755
--- a/t/t5801-remote-helpers.sh
+++ b/t/t5801-remote-helpers.sh
@@ -11,9 +11,15 @@ test_description='Test remote-helper import and export commands'
 PATH="$TEST_DIRECTORY/t5801:$PATH"
 
 compare_refs() {
+	fail= &&
+	if test "x$1" = 'x!'
+	then
+		fail='!' &&
+		shift
+	fi &&
 	git --git-dir="$1/.git" rev-parse --verify $2 >expect &&
 	git --git-dir="$3/.git" rev-parse --verify $4 >actual &&
-	test_cmp expect actual
+	eval $fail test_cmp expect actual
 }
 
 test_expect_success 'setup repository' '
@@ -189,7 +195,7 @@ test_expect_success GPG 'push signed tag' '
 	git push origin signed-tag
 	) &&
 	compare_refs local signed-tag^{} server signed-tag^{} &&
-	test_must_fail compare_refs local signed-tag server signed-tag
+	compare_refs ! local signed-tag server signed-tag
 '
 
 test_expect_success GPG 'push signed tag with signed-tags capability' '
-- 
2.26.0.159.g23e2136ad0
Previous: Denton LiuNext: Denton Liu
Message 26 of 30 in “t: replace incorrect test_must_fail usage (part 3)”
  1. 0/8 t: replace incorrect test_must_fail usage (part 3)Denton Liu, Mar 25, 2020
  2. 1/8 t5512: don't use `test_must_fail test_cmp`Denton Liu, Mar 25, 2020
  3. 3/8 t5512: stop losing return codes of git commandsDenton Liu, Mar 25, 2020
  4. 2/8 t5512: generate references with generate_references()Denton Liu, Mar 25, 2020
  5. Eric SunshineMar 25, 2020
  6. Junio C HamanoMar 25, 2020
  7. 5/8 t5607: reorder `nongit test_must_fail`Denton Liu, Mar 25, 2020
  8. 4/8 t5550: remove use of `test_might_fail grep`Denton Liu, Mar 25, 2020
  9. Junio C HamanoMar 25, 2020
  10. 8/8 t5801: teach compare_refs() to accept !Denton Liu, Mar 25, 2020
  11. Junio C HamanoMar 25, 2020
  12. Eric SunshineMar 25, 2020
  13. 7/8 t5612: stop losing return codes of git commandsDenton Liu, Mar 25, 2020
  14. 6/8 t5612: don't use `test_must_fail test_cmp`Denton Liu, Mar 25, 2020
  15. Junio C HamanoMar 25, 2020
  16. 0/8 t: replace incorrect test_must_fail usage (part 3)Denton Liu, Mar 26, 2020
  17. 1/8 t5512: don't use `test_must_fail test_cmp`Denton Liu, Mar 26, 2020
  18. 2/8 t5512: stop losing git exit code in here-docsDenton Liu, Mar 26, 2020
  19. Eric SunshineMar 26, 2020
  20. 3/8 t5512: stop losing return codes of git commandsDenton Liu, Mar 26, 2020
  21. 4/8 t5550: simplify no matching line checkDenton Liu, Mar 26, 2020
  22. Eric SunshineMar 26, 2020
  23. 5/8 t5607: reorder `nongit test_must_fail`Denton Liu, Mar 26, 2020
  24. 6/8 t5612: don't use `test_must_fail test_cmp`Denton Liu, Mar 26, 2020
  25. 7/8 t5612: stop losing return codes of git commandsDenton Liu, Mar 26, 2020
  26. 8/8 t5801: teach compare_refs() to accept !Denton Liu, Mar 26, 2020
  27. 9/9 fixup! t5512: stop losing git exit code in here-docsDenton Liu, Mar 27, 2020
  28. Junio C HamanoMar 27, 2020
  29. Eric SunshineMar 27, 2020
  30. Junio C HamanoMar 27, 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.