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

Re: [GSoC] [PATCH v5 1/1] t9811: Improve test coverage and clarity

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 8, 2025, 21:21 UTC
Message-ID
<xmqqbjt6wdrk.fsf@gitster.g>
In-Reply-To
<20250408114841.58592-2-anthonywang03@icloud.com>
Anthony Wang <anthonywang513@gmail.com> writes:
> Subject: Re: [GSoC] [PATCH v5 1/1] t9811: Improve test coverage and clarity
"Improve" -> "improve".

I am not sure about "clarity", but I agree that the main thrust of this change is no longer "avoid hiding exit status of git behind pipe", but more about "use 'show-ref --verify' to validate the right thing (meaning: grepping just for a string that could be a substring is an unreliable test)". Perhaps that is giving more clarity? coverage to test negative outcome is "while at it", just like we (incidentally) lost pipes that used to hide exit status, so I am not sure if it deserves mention on the commit title.

    t9811: be more precise to check tag creation
    The tests grep tagnames they expect to exist from "git tag"
    output, which can be fooled by false positive if an unexpected
    tag whose name has the expected tagname as its substring.  Fix
    them by using "git show-ref --verify" instead.
    While we are at it, add a negative test to verify that a tag
    that is involved in earlier tests that is not supposed to appear
    in the result does indeed not appear in the resulting
    repository.
    Incidentally, this would also correct the problem the original
    had, which lost the exit status of "git tag" that was placed
    upstream of a pipe.
or something, perhaps?
Also you'd need to sign-off your patch.
Thanks.
Show 35 quoted lines
> Remove the pipe following the `git tag`, ensuring the exit code is not 
> hidden. Add explicit verification to check for expected and unexpected 
> tags, increasing specificity and future-proofing a portion of the test.
>
> ---
>  t/t9811-git-p4-label-import.sh | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/t/t9811-git-p4-label-import.sh b/t/t9811-git-p4-label-import.sh
> index 5ac5383fb7..593de09eb4 100755
> --- a/t/t9811-git-p4-label-import.sh
> +++ b/t/t9811-git-p4-label-import.sh
> @@ -95,9 +95,10 @@ test_expect_success 'two labels on the same changelist' '
>  		cd "$git" &&
>  		git p4 sync --import-labels &&
>  
> -		git tag | grep TAG_F1 &&
> -		git tag | grep -q TAG_F1_1 &&
> -		git tag | grep -q TAG_F1_2 &&
> +		git tag &&
> +		git show-ref --verify refs/tags/TAG_F1_1 &&
> +		git show-ref --verify refs/tags/TAG_F1_2 &&
> +		test_must_fail git show-ref --verify refs/tags/TAG_F1_ONLY &&
>  
>  		cd main &&
>  
> @@ -208,7 +209,7 @@ test_expect_success 'use git config to enable import/export of tags' '
>  		git p4 rebase --verbose &&
>  		git p4 submit --verbose &&
>  		git tag &&
> -		git tag | grep TAG_F1_1
> +		git show-ref --verify refs/tags/TAG_F1_1 &&
>  	) &&
>  	(
>  		cd "$cli" &&
Previous: Anthony WangNext: Eric Sunshine
Message 23 of 35 in “t9811: avoid using pipes”
  1. Anthony WangApr 5, 2025
  2. Patrick SteinhardtApr 7, 2025
  3. [GSoC] [PATCH v2 0/3] t9811: Improve test coverage and clarityAnthony Wang, Apr 7, 2025
  4. [GSoC] [PATCH v2 1/3] t9811: avoid using pipes to expose exit codesAnthony Wang, Apr 7, 2025
  5. Eric SunshineApr 7, 2025
  6. Junio C HamanoApr 7, 2025
  7. Anthony WangApr 7, 2025
  8. Junio C HamanoApr 8, 2025
  9. Anthony WangApr 8, 2025
  10. [GSoC] [PATCH v2 2/3] t9811: Remove the -q quiet mode from some instances of grepAnthony Wang, Apr 7, 2025
  11. Eric SunshineApr 7, 2025
  12. Junio C HamanoApr 7, 2025
  13. [GSoC] [PATCH v2 3/3] t9811: Change `grep` to `test_grep` for debug outputAnthony Wang, Apr 7, 2025
  14. [GSoC] [PATCH v3 0/3] t9811: Improve test coverage and clarityAnthony Wang, Apr 7, 2025
  15. [GSoC] [PATCH v3 1/3] t9811: avoid using pipes to expose exit codesAnthony Wang, Apr 7, 2025
  16. [GSoC] [PATCH v3 2/3] t9811: Remove the -q quiet mode from some instances of grepAnthony Wang, Apr 7, 2025
  17. [GSoC] [PATCH v3 3/3] t9811: Change `grep` to `test_grep` for debug outputAnthony Wang, Apr 7, 2025
  18. [GSoC] [PATCH v4 0/1] t9811: Improve test coverage and clarityAnthony Wang, Apr 8, 2025
  19. [GSoC] [PATCH v4 1/1] Remove the pipe following the `git tag`, ensuring the exit code is not hidden. Add explicit verification to check for expected and unexpected tags, increasing specificity and future-proofing a portion of the test.Anthony Wang, Apr 8, 2025
  20. Karthik NayakApr 8, 2025
  21. [GSoC] [PATCH v5 0/1] t9811: Improve test coverage and clarityAnthony Wang, Apr 8, 2025
  22. [GSoC] [PATCH v5 1/1] t9811: Improve test coverage and clarityAnthony Wang, Apr 8, 2025
  23. Junio C HamanoApr 8, 2025
  24. Eric SunshineApr 8, 2025
  25. Anthony WangApr 9, 2025
  26. Junio C HamanoApr 9, 2025
  27. [GSoC] [PATCH v6 0/1] t9811: be more precise to check importing of tagsAnthony Wang, Apr 12, 2025
  28. [GSoC] [PATCH v6 1/1] t9811: be more precise to check importing of tagsAnthony Wang, Apr 12, 2025
  29. Junio C HamanoApr 15, 2025
  30. Anthony WangApr 16, 2025
  31. [GSoC] [PATCH v7 0/1] t9811: be more precise to check importing of tagsAnthony Wang, Apr 16, 2025
  32. [GSoC] [PATCH v7 1/1] t9811: be more precise to check importing of tagsAnthony Wang, Apr 16, 2025
  33. Junio C HamanoApr 18, 2025
  34. Junio C HamanoApr 18, 2025
  35. Eric SunshineApr 18, 2025

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.