mirror of
https://github.com/git/git
synced 2024-08-24 18:26:02 +00:00
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>
This commit is contained in:
parent
49da404070
commit
5024ade1b1
6
t/README
6
t/README
|
@ -466,6 +466,12 @@ explicitly providing repositories when accessing submodule objects is
|
|||
complete or needs to be abandoned for whatever reason (in which case the
|
||||
migrated codepaths still retain their performance benefits).
|
||||
|
||||
GIT_TEST_REQUIRE_PREREQ=<list> allows specifying a space 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
|
||||
------------
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue