Thread (2 messages) 2 messages, 2 authors, 2016-06-15

Re: [PATCH v2] tests: Use skip_all=<reason> to skip tests

flat view

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:49:06

Ævar Arnfjörð Bjarmason [off-list ref] writes:
On Fri, Jul 9, 2010 at 17:49, Junio C Hamano [off-list ref] wrote:
...
quoted
Among 63 assignments to $skip_all that are all over in t/*.sh scripts, the
only ones that are not immediately followed by test_done are in
lib-git-svn.sh (chooses one among 3 messages), lib-httpd.sh (sets a trap
before calling test_done), and t3600-rm (makes a mental note to report
that one test was skipped long before all the tests run).
...
    $ perl -MTest::More -E 'plan tests => 6; pass "gettext stuff ok"
for 1..2; SKIP: { skip "Can not test without locale files", 2 } pass
"moo" for 1..2'
    1..6
    ok 1 - gettext stuff ok
    ok 2 - gettext stuff ok
    ok 3 # skip Can not test without locale files
    ok 4 # skip Can not test without locale files
    ok 5 - moo
    ok 6 - moo
Now you are talking.

What t3600-rm does becomes a lot more natural to express with something
like this.  Any test with "prerequisite" missing will automatically get
"this test was skipped because you lack this prerequisite" for free.  We
can lose skip_all= assignment there but move the logic to test-lib.sh,
which is a good thing.

But that is orthogonal to what you call an API, i.e. your assignment to
the global variable $skip_all that is immediately followed by test_done,
no?  The conversion you did for that does not help counting the remainder
of the tests that are skipped anyway, so you will need to redo that
conversion altogether if you ever want to be able to show "these tests
through the end of the scripts were skipped".
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help