The 'skip_all' facility cannot be used after one or more tests
have been executed using (for example) 'test_expect_success'.
To do so results in invalid TAP output, which leads to 'prove'
complaining of "Parse errors: No plan found in TAP output".

Add a check for such invalid usage and abort the test with an
error message to alert the test author.

Signed-off-by: Ramsay Jones <>
 t/ | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/t/ b/t/
index 56b028c..283d27a 100644
--- a/t/
+++ b/t/
@@ -383,6 +383,10 @@ test_done () {
        case "$test_failure" in
                # Maybe print SKIP message
+               if test -n "$skip_all" && test $test_count -gt 0
+               then
+                       error "Can't use skip_all after running some tests"
+               fi
                [ -z "$skip_all" ] || skip_all=" # SKIP $skip_all"
                if test $test_external_has_tap -eq 0

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to