1# SPDX-License-Identifier: GPL-2.0 2# 3# Copyright (c) 2023 Collabora Ltd 4# 5# Helpers for outputting in KTAP format 6# 7KTAP_TESTNO=1 8KTAP_CNT_PASS=0 9KTAP_CNT_FAIL=0 10KTAP_CNT_SKIP=0 11 12ktap_print_header() { 13 echo "TAP version 13" 14} 15 16ktap_set_plan() { 17 num_tests="$1" 18 19 echo "1..$num_tests" 20} 21 22ktap_skip_all() { 23 echo -n "1..0 # SKIP " 24 echo $@ 25} 26 27__ktap_test() { 28 result="$1" 29 description="$2" 30 directive="$3" # optional 31 32 local directive_str= 33 [[ ! -z "$directive" ]] && directive_str="# $directive" 34 35 echo $result $KTAP_TESTNO $description $directive_str 36 37 KTAP_TESTNO=$((KTAP_TESTNO+1)) 38} 39 40ktap_test_pass() { 41 description="$1" 42 43 result="ok" 44 __ktap_test "$result" "$description" 45 46 KTAP_CNT_PASS=$((KTAP_CNT_PASS+1)) 47} 48 49ktap_test_skip() { 50 description="$1" 51 52 result="ok" 53 directive="SKIP" 54 __ktap_test "$result" "$description" "$directive" 55 56 KTAP_CNT_SKIP=$((KTAP_CNT_SKIP+1)) 57} 58 59ktap_test_fail() { 60 description="$1" 61 62 result="not ok" 63 __ktap_test "$result" "$description" 64 65 KTAP_CNT_FAIL=$((KTAP_CNT_FAIL+1)) 66} 67 68ktap_print_totals() { 69 echo "# Totals: pass:$KTAP_CNT_PASS fail:$KTAP_CNT_FAIL xfail:0 xpass:0 skip:$KTAP_CNT_SKIP error:0" 70} 71