From: Edwin Fernando <edwinfernando734@gmail.com>
To: git@vger.kernel.org
Cc: Edwin Fernando <edwinfernando734@gmail.com>,
Andrei Rybak <rybak.a.v@gmail.com>,
Eric Sunshine <sunshine@sunshineco.com>
Subject: [GSOC][PATCH v3] t3701: don't lose "git" exit codes in test scripts
Date: Sun, 2 Apr 2023 12:36:07 +0100 [thread overview]
Message-ID: <20230402113607.2394-1-edwinfernando734@gmail.com> (raw)
In-Reply-To: <20230401194756.5954-1-edwinfernando734@gmail.com>
Exit codes are lost due to piping and command substitution:
- "git ... | <command>"
- "<command> $(git ... )"
Fix these issues using the intermediate step of writing output to file.
Signed-off-by: Edwin Fernando <edwinfernando734@gmail.com>
---
Changes from v2:
- use git rebase to squash commit history,
and diff with upstream commit for review
- use present tense for code before the commit.
t/t3701-add-interactive.sh | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/t/t3701-add-interactive.sh b/t/t3701-add-interactive.sh
index 3a99837d9b..77aad9032a 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 &&
+ grep content show &&
+ git diff file >diff &&
+ grep "new mode" diff
'
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 &&
+ grep "new mode" diff &&
+ git diff file >diff &&
+ grep "+content" diff
'
@@ -311,9 +315,11 @@ 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 &&
+ grep "new mode" diff &&
+ grep "+content" diff &&
+ git diff file >diff &&
+ test_must_be_empty diff
'
# end of tests disabled when filemode is not usable
--
2.40.0
next prev parent reply other threads:[~2023-04-02 11:37 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 ` [GSOC][PATCH 1/1] t3701: Avoid suppression of exit status of git Edwin Fernando
2023-03-26 20:14 ` 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 ` Edwin Fernando [this message]
2023-04-02 17:17 ` [GSOC][PATCH v3] " 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=20230402113607.2394-1-edwinfernando734@gmail.com \
--to=edwinfernando734@gmail.com \
--cc=git@vger.kernel.org \
--cc=rybak.a.v@gmail.com \
--cc=sunshine@sunshineco.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.