• Æ
    test-lib: output a newline before "ok" under a TAP harness · 57e1538a
    Ævar Arnfjörð Bjarmason 提交于
    Some tests in the testsuite will emit a line that doesn't end with a
    newline, right before we're about to output "ok" or "not ok". This
    breaks the TAP output with "Tests out of sequence" errors since a TAP
    harness can't understand this:
    
        ok 1 - A test
        [some output here]ok 2 - Another test
        ok 3 - Yet another test
    
    Work around it by emitting an empty line before we're about to say
    "ok" or "not ok", but only if we're running under --verbose and
    HARNESS_ACTIVE=1 is set, which'll only be the case when running under
    a harnesses like prove(1).
    
    I think it's better to do this than fix each tests by adding `&& echo'
    everywhere. More tests might be added that break TAP in the future,
    and a human isn't going to look at the extra whitespace, since
    HARNESS_ACTIVE=1 always means a harness is reading it.
    
    The tests that had issues were:
    
       t1007, t3410, t3413, t3409, t3414, t3415, t3416, t3412, t3404,
       t5407, t7402, t7003, t9001
    
    With this workaround the entire test suite runs without errors under:
    
        prove -j 10 ./t[0-9]*.sh :: --verbose
    Signed-off-by: NÆvar Arnfjörð Bjarmason <avarab@gmail.com>
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    57e1538a
test-lib.sh 20.8 KB