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

Re: [PATCH] t2400: Fix test failures when using grep 2.5

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 16, 2023, 01:08 UTC
Message-ID
<xmqqilakll2m.fsf@gitster.g>
In-Reply-To
<vn5sylull5lqpitsanlyan5fafxj5dhrxgo6k65c462dhqjbno@uwghfyfdixtk>
Jacob Abel <jacobabel@nullpo.dev> writes:
Show 11 quoted lines
>> > @@ -998,8 +998,8 @@ test_dwim_orphan () {
>> >   					headpath=$(git $dashc_args rev-parse --sq --path-format=absolute --git-path HEAD) &&
>> 
>> I'm a bit confused by the --sq here - why does it need to be shell
>> quoted when it is always used inside double quotes? 
>
> To be honest I can't remember if this specifically needs to be in
> quotes or not however I had a lot of trouble during the development of
> that patchset with things escaping quotes and causing breakages in the
> tests so if it isn't currently harmful I'd personally prefer to leave
> it as is.

Quoting is sometimes tricky enough that "this happens to work for me but I do not know why it works" is asking for trouble in somebody else's environment. If the form in the patch is correct, but tricky for others to understand, you'd need to pick it apart and document how it works (and if you cannot do so, ask for help by somebody who can, or simplify it enough so that you can explain it yourself).

    headpath=$(git $dashc_args rev-parse --sq --path-format=absolute --git-path HEAD) &&

In this case, "--sq" is a noop that only confuses readers, I think, and I would drop it if I were you. "--git-path HEAD" is given by this call chain:

   builtin/rev-parse.c:cmd_rev_parse() 
   -> builtin/rev-parse.c:print_path()
      -> transform path depending on the path format
         -> puts()

and nowhere in this chain "output_sq" (which is set by "--sq") is even checked. The transformations are all about relative, prefix, etc., and never about quoting.

The original test script t2400 (before your patch) does look crappy with full of long lines and coding style violations (none of which is your fault), and it may need to be cleaned up once this patch settles.

Thanks.
Previous: Jacob AbelNext: Jacob Abel
Message 4 of 25 in “t2400: Fix test failures when using grep 2.5”
  1. t2400: Fix test failures when using grep 2.5Jacob Abel, Jul 15, 2023
  2. Phillip WoodJul 15, 2023
  3. Jacob AbelJul 15, 2023
  4. Junio C HamanoJul 16, 2023
  5. Jacob AbelJul 16, 2023
  6. Phillip WoodJul 16, 2023
  7. Junio C HamanoJul 17, 2023
  8. Jacob AbelJul 18, 2023
  9. Phillip WoodJul 18, 2023
  10. Jacob AbelJul 21, 2023
  11. Jacob AbelJul 15, 2023
  12. t2400: Fix test failures when using grep 2.5Jacob Abel, Jul 16, 2023
  13. 0/3 t2400: Fix test failures when using grep 2.5Jacob Abel, Jul 21, 2023
  14. 1/3 t2400: drop no-op `--sq` from rev-parse callJacob Abel, Jul 21, 2023
  15. 2/3 builtin/worktree.c: convert tab in advice to spaceJacob Abel, Jul 21, 2023
  16. 3/3 t2400: rewrite regex to avoid unintentional PCREJacob Abel, Jul 21, 2023
  17. Junio C HamanoJul 21, 2023
  18. Junio C HamanoJul 21, 2023
  19. Jacob AbelJul 22, 2023
  20. 0/3 t2400: Fix test failures when using grep 2.5Jacob Abel, Jul 26, 2023
  21. 1/3 t2400: drop no-op `--sq` from rev-parse callJacob Abel, Jul 26, 2023
  22. 2/3 builtin/worktree.c: convert tab in advice to spaceJacob Abel, Jul 26, 2023
  23. 3/3 t2400: rewrite regex to avoid unintentional PCREJacob Abel, Jul 26, 2023
  24. Junio C HamanoJul 26, 2023
  25. Phillip WoodJul 28, 2023

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.