From: "René Scharfe" <l.s.r@web.de>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>,
German Lashevich <german.lashevich@gmail.com>,
Phillip Wood <phillip.wood@dunelm.org.uk>
Subject: [PATCH v2 1/3] t4020: test exit code with external diffs
Date: Wed, 5 Jun 2024 10:35:23 +0200 [thread overview]
Message-ID: <2a5167fc-871b-4968-bacb-eaff4d7a2630@web.de> (raw)
In-Reply-To: <6fa51a62-5dc1-4865-9f79-eaf7d65189ab@web.de>
Add tests to check the exit code of git diff with its options --quiet
and --exit-code when using an external diff program. Currently we
cannot tell whether it found significant changes or not.
Signed-off-by: René Scharfe <l.s.r@web.de>
---
t/t4020-diff-external.sh | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/t/t4020-diff-external.sh b/t/t4020-diff-external.sh
index fdd865f7c3..bed640b2b1 100755
--- a/t/t4020-diff-external.sh
+++ b/t/t4020-diff-external.sh
@@ -172,6 +172,39 @@ test_expect_success 'no diff with -diff' '
grep Binary out
'
+check_external_exit_code () {
+ expect_code=$1
+ command_code=$2
+ option=$3
+
+ command="exit $command_code;"
+ desc="external diff '$command'"
+
+ test_expect_success "$desc via attribute with $option" "
+ test_config diff.foo.command \"$command\" &&
+ echo \"file diff=foo\" >.gitattributes &&
+ test_expect_code $expect_code git diff $option
+ "
+
+ test_expect_success "$desc via diff.external with $option" "
+ test_config diff.external \"$command\" &&
+ >.gitattributes &&
+ test_expect_code $expect_code git diff $option
+ "
+
+ test_expect_success "$desc via GIT_EXTERNAL_DIFF with $option" "
+ >.gitattributes &&
+ test_expect_code $expect_code env \
+ GIT_EXTERNAL_DIFF=\"$command\" \
+ git diff $option
+ "
+}
+
+check_external_exit_code 1 0 --exit-code
+check_external_exit_code 1 0 --quiet
+check_external_exit_code 128 1 --exit-code
+check_external_exit_code 1 1 --quiet # we don't even call the program
+
echo NULZbetweenZwords | perl -pe 'y/Z/\000/' > file
test_expect_success 'force diff with "diff"' '
--
2.45.2
next prev parent reply other threads:[~2024-06-05 8:35 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-20 1:13 Possible git-diff bug when using exit-code with diff filters German Lashevich
2024-04-21 10:42 ` René Scharfe
2024-04-21 18:17 ` Junio C Hamano
2024-04-21 18:32 ` rsbecker
2024-04-21 19:09 ` Junio C Hamano
2024-04-21 20:18 ` rsbecker
2024-05-05 10:19 ` René Scharfe
2024-05-06 17:22 ` Junio C Hamano
2024-05-05 10:19 ` [PATCH 1/2] diff: report unmerged paths as changes in run_diff_cmd() René Scharfe
2024-05-05 10:20 ` [PATCH 2/2] diff: fix --exit-code with external diff René Scharfe
2024-05-05 15:25 ` Phillip Wood
2024-05-06 17:31 ` Junio C Hamano
2024-05-06 18:23 ` René Scharfe
2024-05-08 15:25 ` phillip.wood123
2024-05-11 20:32 ` René Scharfe
2024-05-12 9:38 ` René Scharfe
2024-06-05 8:31 ` [PATCH v2 0/3] " René Scharfe
2024-06-05 8:35 ` René Scharfe [this message]
2024-06-05 8:36 ` [PATCH v2 2/3] userdiff: add and use struct external_diff René Scharfe
2024-06-05 8:38 ` [PATCH v2 3/3] diff: let external diffs report that changes are uninteresting René Scharfe
2024-06-06 6:39 ` Johannes Sixt
2024-06-06 8:28 ` René Scharfe
2024-06-06 15:49 ` Junio C Hamano
2024-06-06 9:48 ` Phillip Wood
2024-06-07 8:19 ` René Scharfe
2024-06-05 16:47 ` [PATCH v2 0/3] diff: fix --exit-code with external diff Junio C Hamano
2024-06-09 7:35 ` [PATCH v3 " René Scharfe
2024-06-09 7:38 ` [PATCH v3 1/3] t4020: test exit code with external diffs René Scharfe
2024-06-10 16:33 ` Junio C Hamano
2024-06-09 7:39 ` [PATCH v3 2/3] userdiff: add and use struct external_diff René Scharfe
2024-06-09 7:41 ` [PATCH v3 3/3] diff: let external diffs report that changes are uninteresting René Scharfe
2024-06-10 13:48 ` [PATCH v3 0/3] diff: fix --exit-code with external diff phillip.wood123
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=2a5167fc-871b-4968-bacb-eaff4d7a2630@web.de \
--to=l.s.r@web.de \
--cc=german.lashevich@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=phillip.wood@dunelm.org.uk \
/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.