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

Re: [PATCH v2 3/5] tests: turn GPG, GPGSM and RFC1991 into lazy prereqs

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 27, 2020, 21:37 UTC
Message-ID
<xmqq1rpdfpj5.fsf@gitster.c.googlers.com>
In-Reply-To
<CAPig+cT6CQsYyMR=-nAo7GD8mXAWyUWPrbTnCZ0nBs54Ah0PbQ@mail.gmail.com>
Eric Sunshine <sunshine@sunshineco.com> writes:
Show 24 quoted lines
> On Fri, Mar 27, 2020 at 1:44 PM Junio C Hamano <gitster@pobox.com> wrote:
>> Subject: [PATCH] t/README: suggest how to leave test early with failure
>> +       test_expect_success 'git frotz on various versions' '
>> +           for revision in one two three
>> +           do
>> +                   echo "frotz $revision" >expect &&
>> +                   git frotz "$revision" >actual &&
>> +                   test_cmp expect actual || return 1
>> +           done &&
>> +           test something else
>> +       '
>> +
>> +    Note that this is only possible in our test suite, where we
>> +    arrange to run your test <script> wrapped inside a helper
>> +    function to ensure that return values matter; in your own script
>> +    outside any function, this technique may not work.
>> +
>>  And here are the "don'ts:"
>>
>>   - Don't exit() within a <script> part.
>
> We use 'exit 1' to terminate subshells[1] inside tests.
>
> [1]: https://lore.kernel.org/git/20150325052952.GE31924@peff.net/
Yeah, I gave two alternatives, but the third one could be
       test_expect_success 'git frotz on various versions' '
           (
             for revision in one two three
             do
                     echo "frotz $revision" >expect &&
                     git frotz "$revision" >actual &&
                     test_cmp expect actual || exit 1
             done 
           ) &&
           test something else
       '

Anyway, that existing rule is not what I added in the rough draft under discussion. To clarify it, we'd end up needing "unless A, B or C" that may be too complex. I dunno.

Thanks.
Previous: Eric SunshineNext: Jeff King
Message 32 of 55 in “Enable GPG in the Windows part of the CI/PR builds”
  1. 0/2 Enable GPG in the Windows part of the CI/PR buildsJohannes Schindelin via GitGitGadget, Mar 23, 2020
  2. 2/2 tests(gpg): increase verbosity to allow debuggingJohannes Schindelin via GitGitGadget, Mar 23, 2020
  3. Jeff KingMar 23, 2020
  4. Jeff KingMar 23, 2020
  5. Junio C HamanoMar 23, 2020
  6. Jeff KingMar 23, 2020
  7. Junio C HamanoMar 23, 2020
  8. Jeff KingMar 23, 2020
  9. Johannes SchindelinMar 24, 2020
  10. Jeff KingMar 24, 2020
  11. Johannes SchindelinMar 24, 2020
  12. Jeff KingMar 24, 2020
  13. 1/2 tests(gpg): allow the gpg-agent to start on WindowsJohannes Schindelin via GitGitGadget, Mar 23, 2020
  14. Junio C HamanoMar 23, 2020
  15. Johannes SchindelinMar 24, 2020
  16. Junio C HamanoMar 24, 2020
  17. Johannes SchindelinMar 24, 2020
  18. Junio C HamanoMar 24, 2020
  19. 0/5 Enable GPG in the Windows part of the CI/PR buildsJohannes Schindelin via GitGitGadget, Mar 25, 2020
  20. 1/5 tests(gpg): allow the gpg-agent to start on WindowsJohannes Schindelin via GitGitGadget, Mar 25, 2020
  21. 2/5 t/lib-gpg.sh: stop pretending to be a stand-alone scriptJohannes Schindelin via GitGitGadget, Mar 25, 2020
  22. Jeff KingMar 26, 2020
  23. Johannes SchindelinMar 26, 2020
  24. Junio C HamanoMar 26, 2020
  25. 3/5 tests: turn GPG, GPGSM and RFC1991 into lazy prereqsJohannes Schindelin via GitGitGadget, Mar 25, 2020
  26. Junio C HamanoMar 25, 2020
  27. Jeff KingMar 26, 2020
  28. Johannes SchindelinMar 26, 2020
  29. Jeff KingMar 27, 2020
  30. Junio C HamanoMar 27, 2020
  31. Eric SunshineMar 27, 2020
  32. Junio C HamanoMar 27, 2020
  33. Jeff KingMar 28, 2020
  34. Jeff KingMar 28, 2020
  35. t/README: suggest how to leave test early with failureJunio C Hamano, Mar 28, 2020
  36. Eric SunshineMar 29, 2020
  37. Jeff KingMar 29, 2020
  38. Johannes SchindelinMar 30, 2020
  39. Jeff KingMar 31, 2020
  40. 4/5 tests: do not let lazy prereqs inside `test_expect_*` turn off tracingJohannes Schindelin via GitGitGadget, Mar 25, 2020
  41. Junio C HamanoMar 25, 2020
  42. Johannes SchindelinMar 26, 2020
  43. Jeff KingMar 26, 2020
  44. Johannes SchindelinMar 26, 2020
  45. 5/5 tests: increase the verbosity of the GPG-related prereqsJohannes Schindelin via GitGitGadget, Mar 25, 2020
  46. Jeff KingMar 26, 2020
  47. Johannes SchindelinMar 26, 2020
  48. 0/5 Enable GPG in the Windows part of the CI/PR buildsJohannes Schindelin via GitGitGadget, Mar 26, 2020
  49. 2/5 t/lib-gpg.sh: stop pretending to be a stand-alone scriptJohannes Schindelin via GitGitGadget, Mar 26, 2020
  50. 1/5 tests(gpg): allow the gpg-agent to start on WindowsJohannes Schindelin via GitGitGadget, Mar 26, 2020
  51. 3/5 tests: do not let lazy prereqs inside `test_expect_*` turn off tracingJohannes Schindelin via GitGitGadget, Mar 26, 2020
  52. 4/5 tests: turn GPG, GPGSM and RFC1991 into lazy prereqsJohannes Schindelin via GitGitGadget, Mar 26, 2020
  53. 5/5 tests: increase the verbosity of the GPG-related prereqsJohannes Schindelin via GitGitGadget, Mar 26, 2020
  54. Jeff KingMar 27, 2020
  55. Junio C HamanoMar 27, 2020

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.