Volume XXII, number 280Wednesday, October 7, 2026Latest message 2 hours ago

The Git List

News and archive of git@vger.kernel.org, since April 2005

patch, 2 partst/pack-refs-tests: fix helper usage

4 messages between Mar 22, 2026 and Mar 22, 2026, from Jayesh Daga via GitGitGadget, jayesh0104 via GitGitGadget, K Jayatheerth.

Plain Markdown or JSON for tools and agents. Diffs are folded; open one to read it.

Jayesh Daga via GitGitGadgetMar 22, 2026, 12:46 UTC on lore

High-level (Intent & Context) =============================

The test script t/pack-refs-tests.sh has two issues that prevent it from running correctly.

It uses: ! test -f .git/refs/heads/f

This is inconsistent with the Git test framework, where helper functions such as test_path_is_missing should be used instead of raw test checks.

Low-level (Implementation & Justification) ==========================================

Without sourcing test-lib.sh, the test framework is not initialized, leading to errors such as: test_expect_success: not found

 * Replaced raw file check with the appropriate helper:
- ! test -f .git/refs/heads/f
+ test_path_is_missing .git/refs/heads/f
Summary
 * Replace test -f with test_path_is_missing
jayesh0104 (2):
  t/pack-refs-tests: drop '-f' from test_path_is_missing
  t/pack-refs-tests: drop '-f' from test_path_is_missing
 t/pack-refs-tests.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
base-commit: 6e8d538aab8fe4dd07ba9fb87b5c7edcfa5706ad
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-2247%2Fjayesh0104%2Ffix-pack-refs-test-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-2247/jayesh0104/fix-pack-refs-test-v1
Pull-Request: https://github.com/git/git/pull/2247
-- 
gitgitgadget
jayesh0104 via GitGitGadgetMar 22, 2026, 12:46 UTC in reply to Jayesh Daga via GitGitGadget on lore

[PATCH 1/2] t/pack-refs-tests: drop '-f' from test_path_is_missing

From: jayesh0104 <jayeshdaga99@gmail.com>

test_path_is_missing expects exactly one argument: the path to check for absence. Passing '-f' is incorrect and results in "bug in the test script: 1 param" during test execution.

The '-f' flag appears to have been carried over from the equivalent 'test -f' usage, but test_path_is_missing does not accept such flags.

Remove the extraneous '-f' to use the helper correctly and restore proper test behavior.

Signed-off-by: Jayesh Daga <jayeshdaga99@gmail.com>
---
 t/pack-refs-tests.sh | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
 mode change 100644 => 100755 t/pack-refs-tests.sh
Show changes to t/pack-refs-tests.sh +7 −1
diff --git a/t/pack-refs-tests.sh b/t/pack-refs-tests.sh
old mode 100644
new mode 100755
index 2fdaccb6c7..8a0c955647
--- a/t/pack-refs-tests.sh
+++ b/t/pack-refs-tests.sh
@@ -1,3 +1,9 @@
+#!/bin/sh
+
+test_description='test pack-refs'
+
+. ./test-lib.sh
+
 pack_refs=${pack_refs:-pack-refs}
 
 test_expect_success 'enable reflogs' '
@@ -61,7 +67,7 @@ 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
 '
 
 test_expect_success 'see if git ${pack_refs} --prune removes empty dirs' '
-- 
gitgitgadget
jayesh0104 via GitGitGadgetMar 22, 2026, 12:46 UTC in reply to Jayesh Daga via GitGitGadget on lore

[PATCH 2/2] t/pack-refs-tests: drop '-f' from test_path_is_missing

From: jayesh0104 <jayeshdaga99@gmail.com>

test_path_is_missing expects exactly one argument: the path to check for absence. Passing '-f' is incorrect and results in "bug in the test script: 1 param" during test execution.

The '-f' flag appears to have been carried over from the equivalent 'test -f' usage, but test_path_is_missing does not accept such flags.

Remove the extraneous '-f' to use the helper correctly and restore proper test behavior.

Signed-off-by: Jayesh Daga <jayeshdaga99@gmail.com>
---
 t/pack-refs-tests.sh | 6 ------
 1 file changed, 6 deletions(-)
 mode change 100755 => 100644 t/pack-refs-tests.sh
Show changes to t/pack-refs-tests.sh +0 −6
diff --git a/t/pack-refs-tests.sh b/t/pack-refs-tests.sh
old mode 100755
new mode 100644
index 8a0c955647..4a85d96c6b
--- a/t/pack-refs-tests.sh
+++ b/t/pack-refs-tests.sh
@@ -1,9 +1,3 @@
-#!/bin/sh
-
-test_description='test pack-refs'
-
-. ./test-lib.sh
-
 pack_refs=${pack_refs:-pack-refs}
 
 test_expect_success 'enable reflogs' '
-- 
gitgitgadget
K JayatheerthMar 22, 2026, 13:29 UTC in reply to jayesh0104 via GitGitGadget on lore

Re: [PATCH 2/2] t/pack-refs-tests: drop '-f' from test_path_is_missing

Hi Jayesh, Thanks for the patch

It is a textbook micro project ;) But I could find a few flaws in it.

Show 15 quoted lines
> test_path_is_missing expects exactly one argument: the path to
> --- a/t/pack-refs-tests.sh
> +++ b/t/pack-refs-tests.sh
> @@ -1,9 +1,3 @@
> -#!/bin/sh
> -
> -test_description='test pack-refs'
> -
> -. ./test-lib.sh
> -
>  pack_refs=${pack_refs:-pack-refs}
>
>  test_expect_success 'enable reflogs' '
> --
> gitgitgadget

Patch 2 removes exactly what Patch 1 adds. You'll have to use rebase -i i.e interactive rebase and change em.

Here are some docs [1]
Regards,
- Jayatheerth
1 - https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History

Back to recent threads