tests: introduce test_must_fail
authorJunio C Hamano <gitster@pobox.com>
Thu, 28 Feb 2008 21:09:30 +0000 (13:09 -0800)
committerJunio C Hamano <gitster@pobox.com>
Fri, 29 Feb 2008 08:00:29 +0000 (00:00 -0800)
commit7435982102093179474a128648179a44042d8a1c
tree0241bd25b24d222758ed70363340379fec5d12e8
parent301e42edc3fa277059be97b3be5b97d86ddc9d9f
tests: introduce test_must_fail

When we expect a git command to notice and signal errors, we
carelessly wrote in our tests:

    test_expect_success 'reject bogus request' '
        do something &&
        do something else &&
        ! git command
    '

but a non-zero exit could come from the "git command" segfaulting.

A new helper function "tset_must_fail" is introduced and it is
meant to be used to make sure the command gracefully fails (iow,
dying and exiting with non zero status is counted as a failure
to "gracefully fail").  The above example should be written as:

    test_expect_success 'reject bogus request' '
        do something &&
        do something else &&
        test_must_fail git command
    '

Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t2008-checkout-subdir.sh
t/test-lib.sh