From: Junio C Hamano <gitster@pobox.com>
To: Anthony Wang <anthonywang513@gmail.com>
Cc: ps@pks.im, git@vger.kernel.org, karthik.188@gmail.com,
shejialuo@gmail.com, christian.couder@gmail.com,
shyamthakkar001@gmail.com,
Anthony Wang <anthonywang03@icloud.com>
Subject: Re: [GSoC] [PATCH v2 1/3] t9811: avoid using pipes to expose exit codes
Date: Mon, 07 Apr 2025 17:19:57 +0000 [thread overview]
Message-ID: <xmqqo6x7nb2a.fsf@gitster.g> (raw)
In-Reply-To: <20250407111824.46518-2-anthonywang03@icloud.com> (Anthony Wang's message of "Mon, 7 Apr 2025 13:18:22 +0200")
Anthony Wang <anthonywang513@gmail.com> writes:
> The exit code of the upstream in a pipe is suppressed
> thus we lose any exit codes of git commands that are piped. In order to
> ensure we pick up the exit code, we can write the output of the git command
> to a file, testing the exit codes of both the commands.
Sort of correct, but ...
> ---
> t/t9811-git-p4-label-import.sh | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
Missing sign-off.
> diff --git a/t/t9811-git-p4-label-import.sh b/t/t9811-git-p4-label-import.sh
> index 5ac5383fb7..5abac938d0 100755
> --- a/t/t9811-git-p4-label-import.sh
> +++ b/t/t9811-git-p4-label-import.sh
> @@ -95,9 +95,10 @@ test_expect_success 'two labels on the same changelist' '
> cd "$git" &&
> git p4 sync --import-labels &&
>
> - git tag | grep TAG_F1 &&
> - git tag | grep -q TAG_F1_1 &&
> - git tag | grep -q TAG_F1_2 &&
> + git tag >output &&
> + grep TAG_F1 output &&
> + grep -q TAG_F1_1 output &&
> + grep -q TAG_F1_2 output &&
Think what these tests are trying to do. After a "git p4 sync"
operation, they want to ensure that tags TAG_F1_1 and TAG_F1_2
exist? Does the test want to see a tag "TAG_F1", or is it only that
the test is written in a so sloppy way that grepping for TAG_F1 will
be happy when any one of TAG_F1_1, TAG_F1_2 and TAG_F1_ONLY exists,
making its purpose of verifying that the tags are in the expected
state pretty much useless, and that is the reason why it needs to be
followed up with the two extra tests?
What is the desired state you want to ensure after "git p4 sync"
operation above? I do not do "git p4", but you may know better than
I do, as you are the one who is patching this test file ;-) I am
guessing that you want TAG_F1_1 and TAG_F1_2 to exist and you do not
want TAG_F1_ONLY to exist?
If so, instead of grepping around, we should be testing that in a
more direct way, perhaps with something like
git show-ref --verify refs/tags/TAG_F1_1 &&
git show-ref --verify refs/tags/TAG_F1_2 &&
test_must_fail git show-ref --verify refs/tags/TAG_F1_ONLY &&
no?
> cd main &&
>
> @@ -208,7 +209,8 @@ test_expect_success 'use git config to enable import/export of tags' '
> git p4 rebase --verbose &&
> git p4 submit --verbose &&
> git tag &&
> - git tag | grep TAG_F1_1
> + git tag >output &&
> + grep TAG_F1_1 output
> ) &&
> (
> cd "$cli" &&
next prev parent reply other threads:[~2025-04-07 17:20 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-05 10:37 [GSoC] [PATCH 1/1] t9811: avoid using pipes Anthony Wang
2025-04-07 7:51 ` Patrick Steinhardt
2025-04-07 11:18 ` [GSoC] [PATCH v2 0/3] t9811: Improve test coverage and clarity Anthony Wang
2025-04-07 11:18 ` [GSoC] [PATCH v2 1/3] t9811: avoid using pipes to expose exit codes Anthony Wang
2025-04-07 16:17 ` Eric Sunshine
2025-04-07 17:19 ` Junio C Hamano [this message]
2025-04-07 21:28 ` Anthony Wang
2025-04-08 0:17 ` Junio C Hamano
2025-04-08 7:35 ` Anthony Wang
2025-04-07 11:18 ` [GSoC] [PATCH v2 2/3] t9811: Remove the -q quiet mode from some instances of grep Anthony Wang
2025-04-07 16:26 ` Eric Sunshine
2025-04-07 22:11 ` Junio C Hamano
2025-04-07 11:18 ` [GSoC] [PATCH v2 3/3] t9811: Change `grep` to `test_grep` for debug output Anthony Wang
2025-04-07 17:25 ` [GSoC] [PATCH v3 0/3] t9811: Improve test coverage and clarity Anthony Wang
2025-04-07 17:25 ` [GSoC] [PATCH v3 1/3] t9811: avoid using pipes to expose exit codes Anthony Wang
2025-04-07 17:25 ` [GSoC] [PATCH v3 2/3] t9811: Remove the -q quiet mode from some instances of grep Anthony Wang
2025-04-07 17:25 ` [GSoC] [PATCH v3 3/3] t9811: Change `grep` to `test_grep` for debug output Anthony Wang
2025-04-08 8:08 ` [GSoC] [PATCH v4 0/1] t9811: Improve test coverage and clarity Anthony Wang
2025-04-08 8:08 ` [GSoC] [PATCH v4 1/1] Remove the pipe following the `git tag`, ensuring the exit code is not hidden. Add explicit verification to check for expected and unexpected tags, increasing specificity and future-proofing a portion of the test Anthony Wang
2025-04-08 9:55 ` Karthik Nayak
2025-04-08 11:48 ` [GSoC] [PATCH v5 0/1] t9811: Improve test coverage and clarity Anthony Wang
2025-04-08 11:48 ` [GSoC] [PATCH v5 1/1] " Anthony Wang
2025-04-08 21:21 ` Junio C Hamano
2025-04-08 21:28 ` Eric Sunshine
2025-04-09 8:15 ` Anthony Wang
2025-04-09 13:29 ` Junio C Hamano
2025-04-12 6:19 ` [GSoC] [PATCH v6 0/1] t9811: be more precise to check importing of tags Anthony Wang
2025-04-12 6:19 ` [GSoC] [PATCH v6 1/1] " Anthony Wang
2025-04-15 14:55 ` Junio C Hamano
2025-04-16 15:03 ` Anthony Wang
2025-04-16 14:59 ` [GSoC] [PATCH v7 0/1] " Anthony Wang
2025-04-16 14:59 ` [GSoC] [PATCH v7 1/1] " Anthony Wang
2025-04-18 18:12 ` Junio C Hamano
2025-04-18 21:03 ` Junio C Hamano
2025-04-18 21:41 ` 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=xmqqo6x7nb2a.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=anthonywang03@icloud.com \
--cc=anthonywang513@gmail.com \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=karthik.188@gmail.com \
--cc=ps@pks.im \
--cc=shejialuo@gmail.com \
--cc=shyamthakkar001@gmail.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 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).