t/pack-refs-tests: fix helper usage
cover t/pack-refs-tests: fix helper usage
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
Signature · 1 line
gitgitgadget
PATCH 1/2 t/pack-refs-tests: drop '-f' from test_path_is_missing
From: jayesh0104 <[email protected]>
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.
--- t/pack-refs-tests.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) mode change 100644 => 100755 t/pack-refs-tests.sh
t/pack-refs-tests.sh +7 -1
@@ -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' '
Signature · 1 line
gitgitgadget
PATCH 2/2 t/pack-refs-tests: drop '-f' from test_path_is_missing
In reply to Jayesh Daga via GitGitGadgetFrom: jayesh0104 <[email protected]>
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.
--- t/pack-refs-tests.sh | 6 ------ 1 file changed, 6 deletions(-) mode change 100755 => 100644 t/pack-refs-tests.sh
t/pack-refs-tests.sh +0 -6
@@ -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' '
Signature · 1 line
gitgitgadget
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.
Quoted 14 lines
test_path_is_missingexpects exactly one argument: the path tot/pack-refs-tests.sh +0
-7@@ -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' ' --
Quoted 1 line
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