From: Junio C Hamano Date: Sat, 14 Mar 2026 16:39:21 GMT Subject: Re: [PATCH v2] t/pack-refs-tests: use test_path_is_missing Message-ID: In-Reply-To: <20260314060550.1277-1-riteshjd75@gmail.com> Ritesh Singh Jadoun 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 > --- > 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' '