diff options
| author | Junio C Hamano <gitster@pobox.com> | 2025-03-11 14:25:00 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-03-11 15:05:23 -0700 |
| commit | ab362fc6f4cf795a8e3e868cb6fc3ae0102c8d42 (patch) | |
| tree | ea2194e1f198b7fea2f49549169479fca9072270 | |
| parent | 87a0bdbf0f72b7561f3cd50636eee33dcb7dbcc3 (diff) | |
| download | git-ab362fc6f4cf795a8e3e868cb6fc3ae0102c8d42.tar.gz | |
t: document test_lazy_prereq
The t/README file talked about test_set_prereq but lacked
explanation on test_lazy_prereq, which is a more modern way to
define prerequisites.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
| -rw-r--r-- | t/README | 23 |
1 files changed, 22 insertions, 1 deletions
@@ -818,7 +818,7 @@ Skipping tests -------------- If you need to skip tests you should do so by using the three-arg form -of the test_* functions (see the "Test harness library" section +of the test_expect_* functions (see the "Test harness library" section below), e.g.: test_expect_success PERL 'I need Perl' ' @@ -965,6 +965,27 @@ see test-lib-functions.sh for the full list and their options. test_done fi + - test_lazy_prereq <prereq> <script> + + Declare the way to determine if a test prerequisite <prereq> is + satisified or not, but delay the actual determination until the + prerequisite is actually used by "test_have_prereq" or the + three-arg form of the test_expect_* functions. For example, this + is how the SYMLINKS prerequisite is declared to see if the platform + supports symbolic links: + + test_lazy_prereq SYMLINKS ' + ln -s x y && test -h y + ' + + The script is lazily invoked when SYMLINKS prerequisite is first + queried by either "test_have_prereq SYMLINKS" or "test_expect_* + SYMLINKS ...". The script is run in a temporary directory inside + a subshell, so you do not have to worry about removing temporary + files you create there. When the script exits with status 0, the + prerequisite is set. Exiting with non-zero status makes the + prerequisite unsatisified. + - test_expect_code <exit-code> <command> Run a command and ensure that it exits with the given exit code. |
