Loading...
Note: File does not exist in v4.17.
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
12KSFT_PASS=0
13KSFT_FAIL=1
14KSFT_XFAIL=2
15KSFT_XPASS=3
16KSFT_SKIP=4
17
18KSFT_NUM_TESTS=0
19
20ktap_print_header() {
21 echo "TAP version 13"
22}
23
24ktap_print_msg()
25{
26 echo "#" $@
27}
28
29ktap_set_plan() {
30 KSFT_NUM_TESTS="$1"
31
32 echo "1..$KSFT_NUM_TESTS"
33}
34
35ktap_skip_all() {
36 echo -n "1..0 # SKIP "
37 echo $@
38}
39
40__ktap_test() {
41 result="$1"
42 description="$2"
43 directive="${3:-}" # optional
44
45 local directive_str=
46 [ ! -z "$directive" ] && directive_str="# $directive"
47
48 echo $result $KTAP_TESTNO $description $directive_str
49
50 KTAP_TESTNO=$((KTAP_TESTNO+1))
51}
52
53ktap_test_pass() {
54 description="$1"
55
56 result="ok"
57 __ktap_test "$result" "$description"
58
59 KTAP_CNT_PASS=$((KTAP_CNT_PASS+1))
60}
61
62ktap_test_skip() {
63 description="$1"
64
65 result="ok"
66 directive="SKIP"
67 __ktap_test "$result" "$description" "$directive"
68
69 KTAP_CNT_SKIP=$((KTAP_CNT_SKIP+1))
70}
71
72ktap_test_fail() {
73 description="$1"
74
75 result="not ok"
76 __ktap_test "$result" "$description"
77
78 KTAP_CNT_FAIL=$((KTAP_CNT_FAIL+1))
79}
80
81ktap_test_result() {
82 description="$1"
83 shift
84
85 if $@; then
86 ktap_test_pass "$description"
87 else
88 ktap_test_fail "$description"
89 fi
90}
91
92ktap_exit_fail_msg() {
93 echo "Bail out! " $@
94 ktap_print_totals
95
96 exit "$KSFT_FAIL"
97}
98
99ktap_finished() {
100 ktap_print_totals
101
102 if [ $((KTAP_CNT_PASS + KTAP_CNT_SKIP)) -eq "$KSFT_NUM_TESTS" ]; then
103 exit "$KSFT_PASS"
104 else
105 exit "$KSFT_FAIL"
106 fi
107}
108
109ktap_print_totals() {
110 echo "# Totals: pass:$KTAP_CNT_PASS fail:$KTAP_CNT_FAIL xfail:0 xpass:0 skip:$KTAP_CNT_SKIP error:0"
111}