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

Re: [PATCH v2 2/2] test-lib: introduce required prereq for test runs

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Nov 19, 2021, 11:13 UTC
Message-ID
<211119.865yso4a9y.gmgdl@evledraar.gmail.com>
In-Reply-To
<20211117090410.8013-3-fs@gigacodes.de>
On Wed, Nov 17 2021, Fabian Stelzer wrote:
> In certain environments or for specific test scenarios we might expect a
> specific prerequisite check to succeed. Therefore we would like to
> trigger an error when running our tests if this is not the case.
trigger an error but...
> To remedy this we add the environment variable GIT_TEST_REQUIRE_PREREQ
> which can be set to a comma separated list of prereqs. If one of these
> prereq tests fail then the whole test run will abort.

..here it's "abort the whole test run". If that's what you want use BAIL_OUT, not error. See: 234383cd401 (test-lib.sh: use "Bail out!" syntax on bad SANITIZE=leak use, 2021-10-14)

Show 8 quoted lines
> +GIT_TEST_REQUIRE_PREREQ=<list> allows specifying a comma speparated list of
> +prereqs that are required to succeed. If a prereq in this list is triggered by
> +a test and then fails then the whole test run will abort. This can help to make
> +sure the expected tests are executed and not silently skipped when their
> +dependency breaks or is simply not present in a new environment.
> +
>  Naming Tests
>  ------------

For other things we specify via lists such as GIT_SKIP_TESTS that's space-separated, but here it's comma-separated, isn't that just a leaky abstraction in this case? I.e. this is exposing a previously internal-only implementation detail of the prereq code.

It's less painful in shellscript if anything like this supports space-separated parameters, as you can interpolate them more easily in any wrapper script without using "tr" or the like...

Previous: Fabian StelzerNext: Fabian Stelzer
Message 6 of 29 in “test-lib: improve missing prereq handling”
  1. 0/2 test-lib: improve missing prereq handlingFabian Stelzer, Nov 17, 2021
  2. 1/2 test-lib: show missing prereq summaryFabian Stelzer, Nov 17, 2021
  3. 2/2 test-lib: introduce required prereq for test runsFabian Stelzer, Nov 17, 2021
  4. Junio C HamanoNov 18, 2021
  5. Fabian StelzerNov 19, 2021
  6. Ævar Arnfjörð BjarmasonNov 19, 2021
  7. Fabian StelzerNov 19, 2021
  8. Fabian StelzerNov 19, 2021
  9. Ævar Arnfjörð BjarmasonNov 19, 2021
  10. Fabian StelzerNov 19, 2021
  11. Ævar Arnfjörð BjarmasonNov 19, 2021
  12. 0/3 test-lib: improve missing prereq handlingFabian Stelzer, Nov 20, 2021
  13. 1/3 test-lib: show missing prereq summaryFabian Stelzer, Nov 20, 2021
  14. 2/3 test-lib: introduce required prereq for test runsFabian Stelzer, Nov 20, 2021
  15. 3/3 test-lib: make BAIL_OUT() work in tests and prereqFabian Stelzer, Nov 20, 2021
  16. Ævar Arnfjörð BjarmasonNov 22, 2021
  17. Junio C HamanoNov 22, 2021
  18. Fabian StelzerNov 26, 2021
  19. Junio C HamanoNov 26, 2021
  20. Fabian StelzerNov 27, 2021
  21. Junio C HamanoNov 28, 2021
  22. Fabian StelzerNov 30, 2021
  23. Ævar Arnfjörð BjarmasonNov 30, 2021
  24. 0/3 test-lib: improve missing prereq handlingFabian Stelzer, Dec 1, 2021
  25. 1/3 test-lib: show missing prereq summaryFabian Stelzer, Dec 1, 2021
  26. 2/3 test-lib: introduce required prereq for test runsFabian Stelzer, Dec 1, 2021
  27. 3/3 test-lib: make BAIL_OUT() work in tests and prereqFabian Stelzer, Dec 1, 2021
  28. Junio C HamanoDec 1, 2021
  29. Adam DinwoodieDec 1, 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.