git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 07/11] t1405: mark test for 'git pack-refs' as REFFILES

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 23, 2021, 17:28 UTC
Message-ID
<xmqqsg05ndn9.fsf@gitster.g>
In-Reply-To
<05dead16f1cbc8d967edf101e170049bbe121cb4.1626989327.git.gitgitgadget@gmail.com>
"Han-Wen Nienhuys via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 8 quoted lines
> From: Han-Wen Nienhuys <hanwen@google.com>
>
> The outcome of the pack-refs operation is not checked. This was apparently
> forgotten in the commit introducing this test: 16feb99d (Mar 26 2017, "t1405:
> some basic tests on main ref store").
>
> I tried adding the obvious check this, but it seems to fail on the freebsd_12
> builder.

These two paragraphs may state the truth, but readers would appreciate if it is clarified that they are both side notes that do not necessarily help understanding the change being made with the patch. Something like this

    The number of loose ref files under .git/refs/ directory before
    and after running the "git pack-refs" command only matter when
    the files ref-backend is in use, so hide the test behind the
    REFFILES prerequisite.
would be needed before these sidenotes.
With a larger context, as you said, 
    diff --git a/t/t1405-main-ref-store.sh b/t/t1405-main-ref-store.sh
    index 92b0487324..3517f54961 100755
    --- a/t/t1405-main-ref-store.sh
    +++ b/t/t1405-main-ref-store.sh
    @@ -9,10 +9,14 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
     RUN="test-tool ref-store main"
    -test_expect_success 'pack_refs(PACK_REFS_ALL | PACK_REFS_PRUNE)' '
    -	test_commit one &&
    +
    +test_expect_success 'setup' '
    +	test_commit one
    +'
    +
    +test_expect_success REFFILES 'pack_refs(PACK_REFS_ALL | PACK_REFS_PRUNE)' '
            N=`find .git/refs -type f | wc -l` &&
            test "$N" != 0 &&
            $RUN pack-refs 3 &&
            N=`find .git/refs -type f | wc -l`
     '

we do count the number of regular files in .git/refs hierarchy after running "test-tool ref-store main pack-refs 3" (whatever that means).

I think your "obvious check" would have been something like the attached? How would that break? It is not the "'wc -l' pads the output with extra spaces" we often see on macOS, is it?

Thanks.
 t/t1405-main-ref-store.sh | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git c/t/t1405-main-ref-store.sh w/t/t1405-main-ref-store.sh
index 3517f54961..9dc88d7580 100755
--- c/t/t1405-main-ref-store.sh
+++ w/t/t1405-main-ref-store.sh
@@ -15,10 +15,11 @@ test_expect_success 'setup' '
 '
 
 test_expect_success REFFILES 'pack_refs(PACK_REFS_ALL | PACK_REFS_PRUNE)' '
-	N=`find .git/refs -type f | wc -l` &&
-	test "$N" != 0 &&
+	N=$(find .git/refs -type f | wc -l) &&
+	test $N -ne 0 &&
 	$RUN pack-refs 3 &&
-	N=`find .git/refs -type f | wc -l`
+	N=$(find .git/refs -type f | wc -l) &&
+	test $N -eq 0
 '
 
 test_expect_success 'create_symref(FOO, refs/heads/main)' '
Previous: Han-Wen Nienhuys via GitGitGadgetNext: Han-Wen Nienhuys via GitGitGadget
Message 18 of 46 in “Fix direct filesystem access in various test files.”
  1. 0/6 Fix direct filesystem access in various test files.Han-Wen Nienhuys via GitGitGadget, Jul 19, 2021
  2. 5/6 t3320: use git-symbolic-ref rather than filesystem accessHan-Wen Nienhuys via GitGitGadget, Jul 19, 2021
  3. 1/6 t6050: use git-update-ref rather than filesystem accessHan-Wen Nienhuys via GitGitGadget, Jul 19, 2021
  4. 2/6 t1503: mark symlink test as REFFILESHan-Wen Nienhuys via GitGitGadget, Jul 19, 2021
  5. 6/6 t2402: use ref-store test helper to create broken symlinkHan-Wen Nienhuys via GitGitGadget, Jul 19, 2021
  6. 3/6 t6120: use git-update-ref rather than filesystem accessHan-Wen Nienhuys via GitGitGadget, Jul 19, 2021
  7. 4/6 t7509: use git-update-ref rather than filesystem accessHan-Wen Nienhuys via GitGitGadget, Jul 19, 2021
  8. Junio C HamanoJul 19, 2021
  9. 00/11 Fix direct filesystem access in various test files.Han-Wen Nienhuys via GitGitGadget, Jul 22, 2021
  10. 01/11 t6050: use git-update-ref rather than filesystem accessHan-Wen Nienhuys via GitGitGadget, Jul 22, 2021
  11. 03/11 t6120: use git-update-ref rather than filesystem accessHan-Wen Nienhuys via GitGitGadget, Jul 22, 2021
  12. 02/11 t1503: mark symlink test as REFFILESHan-Wen Nienhuys via GitGitGadget, Jul 22, 2021
  13. 05/11 t2402: use ref-store test helper to create broken symlinkHan-Wen Nienhuys via GitGitGadget, Jul 22, 2021
  14. 04/11 t3320: use git-symbolic-ref rather than filesystem accessHan-Wen Nienhuys via GitGitGadget, Jul 22, 2021
  15. 06/11 t1405: use 'git reflog exists' to check reflog existenceHan-Wen Nienhuys via GitGitGadget, Jul 22, 2021
  16. Junio C HamanoJul 23, 2021
  17. 07/11 t1405: mark test for 'git pack-refs' as REFFILESHan-Wen Nienhuys via GitGitGadget, Jul 22, 2021
  18. Junio C HamanoJul 23, 2021
  19. 08/11 t1410: mark test as REFFILESHan-Wen Nienhuys via GitGitGadget, Jul 22, 2021
  20. Junio C HamanoJul 23, 2021
  21. 09/11 t7064: use update-ref -d to remove upstream branchHan-Wen Nienhuys via GitGitGadget, Jul 22, 2021
  22. Junio C HamanoJul 23, 2021
  23. 10/11 t6500: use "ls -1" to snapshot ref database stateHan-Wen Nienhuys via GitGitGadget, Jul 22, 2021
  24. 11/11 t6001: avoid direct file system accessHan-Wen Nienhuys via GitGitGadget, Jul 22, 2021
  25. Junio C HamanoJul 23, 2021
  26. Junio C HamanoJul 23, 2021
  27. Han-Wen NienhuysAug 2, 2021
  28. Junio C HamanoAug 2, 2021
  29. Junio C HamanoAug 2, 2021
  30. Han-Wen NienhuysAug 2, 2021
  31. 00/11 Fix direct filesystem access in various test files.Han-Wen Nienhuys via GitGitGadget, Aug 2, 2021
  32. 01/11 t6050: use git-update-ref rather than filesystem accessHan-Wen Nienhuys via GitGitGadget, Aug 2, 2021
  33. 03/11 t6120: use git-update-ref rather than filesystem accessHan-Wen Nienhuys via GitGitGadget, Aug 2, 2021
  34. 02/11 t1503: mark symlink test as REFFILESHan-Wen Nienhuys via GitGitGadget, Aug 2, 2021
  35. 04/11 t3320: use git-symbolic-ref rather than filesystem accessHan-Wen Nienhuys via GitGitGadget, Aug 2, 2021
  36. 05/11 t2402: use ref-store test helper to create broken symlinkHan-Wen Nienhuys via GitGitGadget, Aug 2, 2021
  37. 07/11 t1405: mark test for 'git pack-refs' as REFFILESHan-Wen Nienhuys via GitGitGadget, Aug 2, 2021
  38. 08/11 t1410: mark test as REFFILESHan-Wen Nienhuys via GitGitGadget, Aug 2, 2021
  39. 09/11 t7064: use update-ref -d to remove upstream branchHan-Wen Nienhuys via GitGitGadget, Aug 2, 2021
  40. 06/11 t1405: use 'git reflog exists' to check reflog existenceHan-Wen Nienhuys via GitGitGadget, Aug 2, 2021
  41. 11/11 t6001: avoid direct file system accessHan-Wen Nienhuys via GitGitGadget, Aug 2, 2021
  42. 10/11 t6500: use "ls -1" to snapshot ref database stateHan-Wen Nienhuys via GitGitGadget, Aug 2, 2021
  43. Junio C HamanoAug 2, 2021
  44. Junio C HamanoAug 2, 2021
  45. Han-Wen NienhuysAug 3, 2021
  46. Junio C HamanoJul 22, 2021

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.