mirror of
https://github.com/git/git
synced 2024-10-28 19:25:47 +00:00
test-lib: have --immediate emit valid TAP on failure
Change the "--immediate" option so that it emits valid TAP on failure. Before this it would omit the required plan at the end, e.g. under SANITIZE=leak we'd show a "No plan found in TAP output" error from "prove": $ prove t0006-date.sh :: --immediate t0006-date.sh .. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/22 subtests Test Summary Report ------------------- t0006-date.sh (Wstat: 256 Tests: 22 Failed: 1) Failed test: 22 Non-zero exit status: 1 Parse errors: No plan found in TAP output Files=1, Tests=22, 0 wallclock secs ( 0.02 usr 0.01 sys + 0.18 cusr 0.06 csys = 0.27 CPU) Result: FAIL Now we'll emit output that doesn't result in TAP parsing failures: $ prove t0006-date.sh :: --immediate t0006-date.sh .. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/22 subtests Test Summary Report ------------------- t0006-date.sh (Wstat: 256 Tests: 22 Failed: 1) Failed test: 22 Non-zero exit status: 1 Files=1, Tests=22, 0 wallclock secs ( 0.02 usr 0.00 sys + 0.19 cusr 0.05 csys = 0.26 CPU) Result: FAIL 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
a68dfadae5
commit
bbfbcd25b3
2 changed files with 18 additions and 1 deletions
|
@ -101,6 +101,19 @@ test_expect_success 'subtest: 2/3 tests passing' '
|
||||||
EOF
|
EOF
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'subtest: --immediate' '
|
||||||
|
run_sub_test_lib_test_err partial-pass \
|
||||||
|
--immediate &&
|
||||||
|
check_sub_test_lib_test_err partial-pass \
|
||||||
|
<<-\EOF_OUT 3<<-EOF_ERR
|
||||||
|
> ok 1 - passing test #1
|
||||||
|
> not ok 2 - failing test #2
|
||||||
|
> # false
|
||||||
|
> 1..2
|
||||||
|
EOF_OUT
|
||||||
|
EOF_ERR
|
||||||
|
'
|
||||||
|
|
||||||
test_expect_success 'subtest: a failing TODO test' '
|
test_expect_success 'subtest: a failing TODO test' '
|
||||||
write_and_run_sub_test_lib_test failing-todo <<-\EOF &&
|
write_and_run_sub_test_lib_test failing-todo <<-\EOF &&
|
||||||
test_expect_success "passing test" "true"
|
test_expect_success "passing test" "true"
|
||||||
|
|
|
@ -806,7 +806,11 @@ test_failure_ () {
|
||||||
say_color error "not ok $test_count - $1"
|
say_color error "not ok $test_count - $1"
|
||||||
shift
|
shift
|
||||||
printf '%s\n' "$*" | sed -e 's/^/# /'
|
printf '%s\n' "$*" | sed -e 's/^/# /'
|
||||||
test "$immediate" = "" || _error_exit
|
if test -n "$immediate"
|
||||||
|
then
|
||||||
|
say_color error "1..$test_count"
|
||||||
|
_error_exit
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
test_known_broken_ok_ () {
|
test_known_broken_ok_ () {
|
||||||
|
|
Loading…
Reference in a new issue