t/README: Update "Skipping tests" to align with best practices
The example I initially added to "Skipping tests" wasn't very good. We'd rather skip tests using the three-arg prereq form to the test_* functions, not bail out with a skip message. Change the documentation to reflect that, but retain the bailout example under a disclaimer which explains that it's probably not a good idea to use it. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
2c4f302607
commit
99d9050d25
21
t/README
21
t/README
@ -319,9 +319,21 @@ Keep in mind:
|
||||
Skipping tests
|
||||
--------------
|
||||
|
||||
If you need to skip all the remaining tests you should set skip_all
|
||||
and immediately call test_done. The string you give to skip_all will
|
||||
be used as an explanation for why the test was skipped. for instance:
|
||||
If you need to skip tests you should do so be using the three-arg form
|
||||
of the test_* functions (see the "Test harness library" section
|
||||
below), e.g.:
|
||||
|
||||
test_expect_success PERL 'I need Perl' "
|
||||
'$PERL_PATH' -e 'hlagh() if unf_unf()'
|
||||
"
|
||||
|
||||
The advantage of skipping tests like this is that platforms that don't
|
||||
have the PERL and other optional dependencies get an indication of how
|
||||
many tests they're missing.
|
||||
|
||||
If the test code is too hairy for that (i.e. does a lot of setup work
|
||||
outside test assertions) you can also skip all remaining tests by
|
||||
setting skip_all and immediately call test_done:
|
||||
|
||||
if ! test_have_prereq PERL
|
||||
then
|
||||
@ -329,6 +341,9 @@ be used as an explanation for why the test was skipped. for instance:
|
||||
test_done
|
||||
fi
|
||||
|
||||
The string you give to skip_all will be used as an explanation for why
|
||||
the test was skipped.
|
||||
|
||||
End with test_done
|
||||
------------------
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user