~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/testing/selftests/kselftest/ktap_helpers.sh

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: GPL-2.0
  2 #
  3 # Copyright (c) 2023 Collabora Ltd
  4 #
  5 # Helpers for outputting in KTAP format
  6 #
  7 KTAP_TESTNO=1
  8 KTAP_CNT_PASS=0
  9 KTAP_CNT_FAIL=0
 10 KTAP_CNT_SKIP=0
 11 
 12 KSFT_PASS=0
 13 KSFT_FAIL=1
 14 KSFT_XFAIL=2
 15 KSFT_XPASS=3
 16 KSFT_SKIP=4
 17 
 18 KSFT_NUM_TESTS=0
 19 
 20 ktap_print_header() {
 21         echo "TAP version 13"
 22 }
 23 
 24 ktap_print_msg()
 25 {
 26         echo "#" $@
 27 }
 28 
 29 ktap_set_plan() {
 30         KSFT_NUM_TESTS="$1"
 31 
 32         echo "1..$KSFT_NUM_TESTS"
 33 }
 34 
 35 ktap_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 
 53 ktap_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 
 62 ktap_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 
 72 ktap_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 
 81 ktap_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 
 92 ktap_exit_fail_msg() {
 93         echo "Bail out! " $@
 94         ktap_print_totals
 95 
 96         exit "$KSFT_FAIL"
 97 }
 98 
 99 ktap_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 
109 ktap_print_totals() {
110         echo "# Totals: pass:$KTAP_CNT_PASS fail:$KTAP_CNT_FAIL xfail:0 xpass:0 skip:$KTAP_CNT_SKIP error:0"
111 }

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php