git/list[1] front-page[2] threads[3] people[4] search[5] about
wed 2026-10-07 17:15 UTC

Re: [PATCH v2] t/pack-refs-tests: use test_path_is_missing

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 14, 2026, 16:39 UTC
Message-ID
<xmqq5x6yxt52.fsf@gitster.g>
In-Reply-To
<20260314060550.1277-1-riteshjd75@gmail.com>
Ritesh Singh Jadoun <riteshjd75@gmail.com> writes:
Show 21 quoted lines
> 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.
Show 6 quoted lines
>  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.
Show 57 quoted lines
>  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' '
Previous: Ritesh Singh Jadoun
Message 2 of 2 in “t/pack-refs-tests: use test_path_is_missing”
  1. t/pack-refs-tests: use test_path_is_missingRitesh Singh Jadoun, Mar 14, 2026
  2. Junio C HamanoMar 14, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.