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

Re: [PATCH v4 4/8] [Newcomer] t7004: Do not prepare things outside test_expect_success

From
Eric Sunshine <sunshine@sunshineco.com>
Date
Aug 6, 2024, 03:29 UTC
Message-ID
<CAPig+cQehwONpjnjPVJEVvviistiSLODLNx-yFBusEPaihnf+w@mail.gmail.com>
In-Reply-To
<20240805235917.190699-5-abdobngad@gmail.com>
On Mon, Aug 5, 2024 at 8:00 PM AbdAlRahman Gad <abdobngad@gmail.com> wrote:
Show 5 quoted lines
> Do not prepare expect and other things outside test_expect_success.
> Also add '\' before EOF to avoid shell interpolation and '-' to allow
> indentation of the body.
>
> Signed-off-by: AbdAlRahman Gad <abdobngad@gmail.com>

When you reroll, it might be a good idea to explain _why_ we don't want to run code outside of `test_expect_success`: in particular, if such code fails for some reason, we won't necessarily hear about it in a timely fashion (or perhaps at all). By placing all code inside `test_expect_success` it ensures that we know immediately if it fails.

Show 7 quoted lines
>  test_expect_success GPG,RFC1991 \
>         'reediting a signed tag body omits signature' '
> +       cat >fakeeditor <<-\EOF &&
> +       #!/bin/sh
> +       cp "$1" actual
> +       EOF
> +       chmod +x fakeeditor &&

It's completely outside the scope of this particular patch, but another modernization which could be done in a separate patch (or a separate patch series -- it doesn't need to be part of this series) would be to take advantage of `write_script` which eliminates some of the boilerplate-work that the above code is doing. For instance:

    write_script fakeeditor <<-\EOF
    cp "$1" actual
    EOF

Notice that `write_script` takes care of emitting the `#!/bin/sh` line and the `chmod +x`.

Previous: AbdAlRahman GadNext: AbdAlRahman Gad
Message 9 of 21 in “t7004: Modernize the style”
  1. 0/8 t7004: Modernize the styleAbdAlRahman Gad, Aug 5, 2024
  2. 1/8 [Newcomer] t7004: Remove space after redirect operatorsAbdAlRahman Gad, Aug 5, 2024
  3. 2/8 [Newcomer] t7004: Do not lose exit status to pipeAbdAlRahman Gad, Aug 5, 2024
  4. Eric SunshineAug 6, 2024
  5. AbdAlRahman GadAug 6, 2024
  6. Eric SunshineAug 6, 2024
  7. 3/8 [Newcomer] t7004: One command per lineAbdAlRahman Gad, Aug 5, 2024
  8. 4/8 [Newcomer] t7004: Do not prepare things outside test_expect_successAbdAlRahman Gad, Aug 5, 2024
  9. Eric SunshineAug 6, 2024
  10. AbdAlRahman GadAug 6, 2024
  11. 5/8 [Newcomer] t7004: Use indented here-docAbdAlRahman Gad, Aug 5, 2024
  12. 6/8 [Newcomer] t7004: Description on the same line as test_expect_successAbdAlRahman Gad, Aug 5, 2024
  13. 7/8 [Newcomer] t7004: test Description and test body seperated with backslashAbdAlRahman Gad, Aug 5, 2024
  14. 8/8 [Newcomer] t7004: Use single quotes instead of double quotesAbdAlRahman Gad, Aug 5, 2024
  15. Eric SunshineAug 6, 2024
  16. AbdAlRahman GadAug 6, 2024
  17. Eric SunshineAug 6, 2024
  18. Junio C HamanoAug 6, 2024
  19. Eric SunshineAug 6, 2024
  20. Junio C HamanoAug 6, 2024
  21. AbdAlRahman GadAug 6, 2024

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.