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

[PATCH v2 2/2] t0000: avoid masking git exit value through pipes

From
Carlo Marcelo Arenas Belón <carenas@gmail.com>
Date
Sep 16, 2021, 08:55 UTC
Message-ID
<20210916085523.68581-3-carenas@gmail.com>
In-Reply-To
<20210916085523.68581-1-carenas@gmail.com>

9af0b8dbe2 (t0000-basic: more commit-tree tests., 2006-04-26) adds tests for commit-tree that mask the return exit from git as described in a378fee5b07 (Documentation: add shell guidelines, 2018-10-05).

Fix the tests, to avoid pipes by using a temporary file instead.
Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
---
v2:
* avoid changing some of the code as suggested by Taylor
* no need for pipes or stdin redirection as suggested by Junio
 t/t0000-basic.sh | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)y
diff --git a/t/t0000-basic.sh b/t/t0000-basic.sh
index cb87768513..5c342de713 100755
--- a/t/t0000-basic.sh
+++ b/t/t0000-basic.sh
@@ -1271,28 +1271,29 @@ P=$(test_oid root)
 
 test_expect_success 'git commit-tree records the correct tree in a commit' '
 	commit0=$(echo NO | git commit-tree $P) &&
-	tree=$(git show --pretty=raw $commit0 |
-		 sed -n -e "s/^tree //p" -e "/^author /q") &&
+	git show --pretty=raw $commit0 >out &&
+	tree=$(sed -n -e "s/^tree //p" -e "/^author /q" out) &&
 	test "z$tree" = "z$P"
 '
 
 test_expect_success 'git commit-tree records the correct parent in a commit' '
 	commit1=$(echo NO | git commit-tree $P -p $commit0) &&
-	parent=$(git show --pretty=raw $commit1 |
-		sed -n -e "s/^parent //p" -e "/^author /q") &&
+	git show --pretty=raw $commit1 >out &&
+	parent=$(sed -n -e "s/^parent //p" -e "/^author /q" out) &&
 	test "z$commit0" = "z$parent"
 '
 
 test_expect_success 'git commit-tree omits duplicated parent in a commit' '
 	commit2=$(echo NO | git commit-tree $P -p $commit0 -p $commit0) &&
-	     parent=$(git show --pretty=raw $commit2 |
-		sed -n -e "s/^parent //p" -e "/^author /q" |
-		sort -u) &&
+	git show --pretty=raw $commit2 >out &&
+	cat >match.sed <<-\EOF &&
+	s/^parent //p
+	/^author /q
+	EOF
+	parent=$(sed -n -f match.sed out | sort -u) &&
 	test "z$commit0" = "z$parent" &&
-	numparent=$(git show --pretty=raw $commit2 |
-		sed -n -e "s/^parent //p" -e "/^author /q" |
-		wc -l) &&
-	test $numparent = 1
+	git show --pretty=raw $commit2 >out &&
+	test_stdout_line_count = 1 sed -n -f match.sed out
 '
 
 test_expect_success 'update-index D/F conflict' '
-- 
2.33.0.481.g26d3bed244
Previous: Jeff KingNext: Taylor Blau
Message 14 of 15 in “t0000: truly leak free”
  1. 0/2 t0000: truly leak freeCarlo Marcelo Arenas Belón, Sep 16, 2021
  2. 1/2 tree-diff: fix leak when not HAVE_ALLOCACarlo Marcelo Arenas Belón, Sep 16, 2021
  3. Taylor BlauSep 16, 2021
  4. Junio C HamanoSep 16, 2021
  5. 2/2 t0000: avoid masking git exit value through pipesCarlo Marcelo Arenas Belón, Sep 16, 2021
  6. Taylor BlauSep 16, 2021
  7. Junio C HamanoSep 16, 2021
  8. Taylor BlauSep 16, 2021
  9. Junio C HamanoSep 16, 2021
  10. Ævar Arnfjörð BjarmasonSep 16, 2021
  11. 0/2 reroll for cb/plug-leaks-in-alloca-emu-usersCarlo Marcelo Arenas Belón, Sep 16, 2021
  12. 1/2 tree-diff: fix leak when not HAVE_ALLOCA_HCarlo Marcelo Arenas Belón, Sep 16, 2021
  13. Jeff KingSep 16, 2021
  14. 2/2 t0000: avoid masking git exit value through pipesCarlo Marcelo Arenas Belón, Sep 16, 2021
  15. Taylor BlauSep 16, 2021

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.