From: Junio C Hamano <gitster@pobox.com>
To: Anthony Wang <anthonywang513@gmail.com>
Cc: Eric Sunshine <sunshine@sunshineco.com>,
git@vger.kernel.org, ps@pks.im, karthik.188@gmail.com,
shejialuo@gmail.com, christian.couder@gmail.com,
shyamthakkar001@gmail.com,
Anthony Wang <anthonywang03@icloud.com>
Subject: Re: [GSoC] [PATCH v5 1/1] t9811: Improve test coverage and clarity
Date: Wed, 09 Apr 2025 06:29:38 -0700 [thread overview]
Message-ID: <xmqqa58ptqd9.fsf@gitster.g> (raw)
In-Reply-To: <CAOSofofyfDpFqFzApwMnmYdFb4nk8DS7WwWmYKLPbe+okOE=Tw@mail.gmail.com> (Anthony Wang's message of "Wed, 9 Apr 2025 10:15:53 +0200")
Anthony Wang <anthonywang513@gmail.com> writes:
>> > The tests grep tagnames they expect to exist from "git tag"
>>
>> s/tagnames/tag names/ perhaps?
>
> How does "t9811: be more precise to check importing of tags" sound?
Excellent.
>> > > + git tag &&
>> > > + 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 &&
>>
>> Do we still need the standalone `git tag` invocation above?
>
> The original intent of the patch was to expose the exit code of
> `git tag`.
Is it? I somehow thought that "git tag" is not what is being tested
by this script. Rather, it assumed that "git tag" works perfectly
well, and validated what "git p4" left in the resulting repository
based on that assumption, i.e. "git tag" works perfectly well to
tell us what tags are in the repository.
It is true that "git tag" to list all available tags may fail, but
then catching that is outside the scope of this script no? It is
even more so, since now we do not even depend on the correct
operation of "git tag" anymore to validate what "git p4" did---we
now use "show-ref --verify" for that, so we do not even care if "git
tag" segfaults in this part of the test, no?
> However, because in this case the test itself does not correctly test
> for the intended behavior, we should modify because we are already
> touching this piece of code. Is this correct? Would it then be desired
> to check the rest of the tests in this file for further oversights and
> correct them as well, or would that be overstepping boundaries?
Just like any real world problems, there unfortunately is no bright
red line between "yeah these are related enough and in the same spot
and it is better to clean up while we are at it" and "that is way
too much for this single topic" that can be described in a textbook.
A rule of thumb I personally use is to put me in the shoes of an
imaginary typical Git developer with moderate competence, who hasn't
seen or worked on a particular part of the system being updated. If
I can easily imagine that the developer can clearly see a need for
clean up (in this case, "the part of the code only tests positive
results and forgets about negative check") while fixing something
else (in this case, "use of 'git tag' piped to 'grep' has at least
two problems, loss of exit code and false match") and the additional
effort would be smaller than 10-20 minutes, I'd say it would be
worth doing and anything larger would be better to leave to another
day, but a lot of ingredients in that statement are very much
subjective (starting from "what's the average competence level we
expect from our people?").
next prev parent reply other threads:[~2025-04-09 13:29 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
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 [this message]
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=xmqqa58ptqd9.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 \
--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 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).