git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Edwin Fernando <edwinfernando734@gmail.com>
To: git@vger.kernel.org
Cc: vdye@github.org, Edwin Fernando <edwinfernando734@gmail.com>
Subject: [GSOC][PATCH 1/1] t3701: Avoid suppression of exit status of git
Date: Sun, 26 Mar 2023 18:31:47 +0100	[thread overview]
Message-ID: <20230326173147.39626-2-edwinfernando734@gmail.com> (raw)
In-Reply-To: <20230326173147.39626-1-edwinfernando734@gmail.com>

Pipes and command substitution in bash suppress the exit codes of the
first executed command. In the test scripts errors when running git
should be exposed. Remove all such suppressions of git by writing
output to files, chaining commands with &&, or other means.

Signed-off-by: Edwin Fernando <edwinfernando734@gmail.com>
---
 t/t3701-add-interactive.sh | 25 ++++++++++++++++---------
 1 file changed, 16 insertions(+), 9 deletions(-)

diff --git a/t/t3701-add-interactive.sh b/t/t3701-add-interactive.sh
index 3a99837d9b..80446b311d 100755
--- a/t/t3701-add-interactive.sh
+++ b/t/t3701-add-interactive.sh
@@ -292,8 +292,10 @@ test_expect_success FILEMODE 'patch does not affect mode' '
 	echo content >>file &&
 	chmod +x file &&
 	printf "n\\ny\\n" | git add -p &&
-	git show :file | grep content &&
-	git diff file | grep "new mode"
+	git show :file > show_file &&
+	grep content show_file &&
+	git diff file > diff_file &&
+	grep "new mode" diff_file
 '
 
 test_expect_success FILEMODE 'stage mode but not hunk' '
@@ -301,8 +303,10 @@ test_expect_success FILEMODE 'stage mode but not hunk' '
 	echo content >>file &&
 	chmod +x file &&
 	printf "y\\nn\\n" | git add -p &&
-	git diff --cached file | grep "new mode" &&
-	git diff          file | grep "+content"
+	git diff --cached file > diff_file &&
+	grep "new mode" diff_file &&
+	git diff file > diff_file &&
+	grep "+content" diff_file
 '
 
 
@@ -311,9 +315,12 @@ test_expect_success FILEMODE 'stage mode and hunk' '
 	echo content >>file &&
 	chmod +x file &&
 	printf "y\\ny\\n" | git add -p &&
-	git diff --cached file | grep "new mode" &&
-	git diff --cached file | grep "+content" &&
-	test -z "$(git diff file)"
+	git diff --cached file > diff_file &&
+	grep "new mode" diff_file &&
+	git diff --cached file diff_file &&
+	grep "+content" diff_file &&
+	git diff file > diff_file &&
+	test -z $(cat diff_file)
 '
 
 # end of tests disabled when filemode is not usable
@@ -970,8 +977,8 @@ test_expect_success 'handle submodules' '
 
 	force_color git -C for-submodules add -p dirty-head >output 2>&1 <y &&
 	git -C for-submodules ls-files --stage dirty-head >actual &&
-	rev="$(git -C for-submodules/dirty-head rev-parse HEAD)" &&
-	grep "$rev" actual
+	git -C for-submodules/dirty-head rev-parse HEAD > rev &&
+	grep -f rev actual
 '
 
 test_expect_success 'set up pathological context' '
-- 
2.40.0


  reply	other threads:[~2023-03-26 17:32 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-26 17:31 [GSOC][PATCH 0/1] Avoid suppression of git's exit code in tests Edwin Fernando
2023-03-26 17:31 ` Edwin Fernando [this message]
2023-03-26 20:14   ` [GSOC][PATCH 1/1] t3701: Avoid suppression of exit status of git Andrei Rybak
2023-03-27 10:11     ` Eric Sunshine
2023-04-01 19:47 ` [GSOC][PATCH v2] t3701: don't lose "git" exit codes in test scripts Edwin Fernando
2023-04-02 10:41   ` Andrei Rybak
2023-04-02 11:36   ` [GSOC][PATCH v3] " Edwin Fernando
2023-04-02 17:17     ` Eric Sunshine
2023-04-02 19:17     ` [GSOC][PATCH v4] " Edwin Fernando
2023-04-03  6:24       ` Eric Sunshine
2023-04-03  9:21         ` Edwin Fernando
2023-04-03  9:34         ` Edwin Fernando
2023-04-03 17:03           ` Eric Sunshine

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230326173147.39626-2-edwinfernando734@gmail.com \
    --to=edwinfernando734@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=vdye@github.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).