From: Junio C Hamano <gitster@pobox.com>
To: Ritesh Singh Jadoun <riteshjd75@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH v2] t/pack-refs-tests: use test_path_is_missing
Date: Sat, 14 Mar 2026 09:39:21 -0700 [thread overview]
Message-ID: <xmqq5x6yxt52.fsf@gitster.g> (raw)
In-Reply-To: <20260314060550.1277-1-riteshjd75@gmail.com> (Ritesh Singh Jadoun's message of "Sat, 14 Mar 2026 11:35:50 +0530")
Ritesh Singh Jadoun <riteshjd75@gmail.com> writes:
> The pack-refs tests currently use raw 'test -f' checks with negation.
> Update them to use Git's standard helper function test_path_is_missing
> for consistency and clearer failure reporting. This aligns with
> CodingGuidelines and makes test failures more obvious.
>
> Signed-off-by: Ritesh Singh Jadoun <riteshjd75@gmail.com>
> ---
> t/pack-refs-tests.sh | 28 ++++++++++++++--------------
> 1 file changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/t/pack-refs-tests.sh b/t/pack-refs-tests.sh
> index 2fdaccb6c7..3cc4906f05 100644
> --- a/t/pack-refs-tests.sh
> +++ b/t/pack-refs-tests.sh
> @@ -61,13 +61,13 @@ test_expect_success 'see if a branch still exists after git ${pack_refs} --prune
> test_expect_success 'see if git ${pack_refs} --prune remove ref files' '
> git branch f &&
> git ${pack_refs} --all --prune &&
> - ! test -f .git/refs/heads/f
> + test_path_is_missing .git/refs/heads/f
> '
Good.
> test_expect_success 'see if git ${pack_refs} --prune removes empty dirs' '
> git branch r/s/t &&
> git ${pack_refs} --all --prune &&
> - ! test -e .git/refs/heads/r
> + ! test_path_exists .git/refs/heads/r
> '
Questionable. When do we want to loudly tell the human about an
unsatisfied expectation? We expect .git/refs/heads/r not to exist,
so we want to use "test_path_is_missing", no?
Please do double check the remainder of the patch, although from a
cursory look I think you got them all correctly.
THanks.
> test_expect_success 'git branch g should work when git branch g/h has been deleted' '
> @@ -111,43 +111,43 @@ test_expect_success 'test excluded refs are not packed' '
> git branch dont_pack2 &&
> git branch pack_this &&
> git ${pack_refs} --all --exclude "refs/heads/dont_pack*" &&
> - test -f .git/refs/heads/dont_pack1 &&
> - test -f .git/refs/heads/dont_pack2 &&
> - ! test -f .git/refs/heads/pack_this'
> + test_path_is_file .git/refs/heads/dont_pack1 &&
> + test_path_is_file .git/refs/heads/dont_pack2 &&
> + test_path_is_missing .git/refs/heads/pack_this'
>
> test_expect_success 'test --no-exclude refs clears excluded refs' '
> git branch dont_pack3 &&
> git branch dont_pack4 &&
> git ${pack_refs} --all --exclude "refs/heads/dont_pack*" --no-exclude &&
> - ! test -f .git/refs/heads/dont_pack3 &&
> - ! test -f .git/refs/heads/dont_pack4'
> + test_path_is_missing .git/refs/heads/dont_pack3 &&
> + test_path_is_missing .git/refs/heads/dont_pack4'
>
> test_expect_success 'test only included refs are packed' '
> git branch pack_this1 &&
> git branch pack_this2 &&
> git tag dont_pack5 &&
> git ${pack_refs} --include "refs/heads/pack_this*" &&
> - test -f .git/refs/tags/dont_pack5 &&
> - ! test -f .git/refs/heads/pack_this1 &&
> - ! test -f .git/refs/heads/pack_this2'
> + test_path_is_file .git/refs/tags/dont_pack5 &&
> + test_path_is_missing .git/refs/heads/pack_this1 &&
> + test_path_is_missing .git/refs/heads/pack_this2'
>
> test_expect_success 'test --no-include refs clears included refs' '
> git branch pack1 &&
> git branch pack2 &&
> git ${pack_refs} --include "refs/heads/pack*" --no-include &&
> - test -f .git/refs/heads/pack1 &&
> - test -f .git/refs/heads/pack2'
> + test_path_is_file .git/refs/heads/pack1 &&
> + test_path_is_file .git/refs/heads/pack2'
>
> test_expect_success 'test --exclude takes precedence over --include' '
> git branch dont_pack5 &&
> git ${pack_refs} --include "refs/heads/pack*" --exclude "refs/heads/pack*" &&
> - test -f .git/refs/heads/dont_pack5'
> + test_path_is_file .git/refs/heads/dont_pack5'
>
> test_expect_success 'see if up-to-date packed refs are preserved' '
> git branch q &&
> git ${pack_refs} --all --prune &&
> git update-ref refs/heads/q refs/heads/q &&
> - ! test -f .git/refs/heads/q
> + test_path_is_missing .git/refs/heads/q
> '
>
> test_expect_success 'pack, prune and repack' '
next prev parent reply other threads:[~2026-03-14 16:39 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-14 6:05 [PATCH v2] t/pack-refs-tests: use test_path_is_missing Ritesh Singh Jadoun
2026-03-14 16:39 ` Junio C Hamano [this message]
-- strict thread matches above, loose matches on Subject: below --
2026-03-15 8:10 Ritesh Singh Jadoun
2026-03-16 15:25 ` Junio C Hamano
2026-03-14 3:46 Ritesh Singh Jadoun
2026-03-14 5:00 ` Junio C Hamano
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=xmqq5x6yxt52.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=riteshjd75@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