diff options
author | Fabian Stelzer <fs@gigacodes.de> | 2021-11-20 18:04:00 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-11-21 10:24:12 +0300 |
commit | 5024ade1b1445107091c429e0da97f45e06bb7c9 (patch) | |
tree | 8badf4f7fea337fa336a5d653abb3c0582f137d3 /t/test-lib-functions.sh | |
parent | 49da4040701f6d3dd480c6d007109c9a2fc2cb7a (diff) |
test-lib: introduce required prereq for test runs
In certain environments or for specific test scenarios we might expect a
specific prerequisite check to succeed. Therefore we would like to abort
running our tests if this is not the case.
To remedy this we add the environment variable GIT_TEST_REQUIRE_PREREQ
which can be set to a space separated list of prereqs. If one of these
prereq tests fail then the whole test run will abort.
Signed-off-by: Fabian Stelzer <fs@gigacodes.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/test-lib-functions.sh')
-rw-r--r-- | t/test-lib-functions.sh | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh index eef2262a36..389153e591 100644 --- a/t/test-lib-functions.sh +++ b/t/test-lib-functions.sh @@ -680,6 +680,17 @@ test_have_prereq () { # Keep a list of missing prerequisites; restore # the negative marker if necessary. prerequisite=${negative_prereq:+!}$prerequisite + + # Abort if this prereq was marked as required + if test -n "$GIT_TEST_REQUIRE_PREREQ" + then + case " $GIT_TEST_REQUIRE_PREREQ " in + *" $prerequisite "*) + BAIL_OUT "required prereq $prerequisite failed" + ;; + esac + fi + if test -z "$missing_prereq" then missing_prereq=$prerequisite |