brintos

brintos / linux-shallow public Read only

0
0
Text · 1.6 KiB · 79a125e Raw
112 lines · bash
1# SPDX-License-Identifier: GPL-2.02#3# Copyright (c) 2023 Collabora Ltd4#5# Helpers for outputting in KTAP format6#7KTAP_TESTNO=18KTAP_CNT_PASS=09KTAP_CNT_FAIL=010KTAP_CNT_SKIP=011 12KSFT_PASS=013KSFT_FAIL=114KSFT_XFAIL=215KSFT_XPASS=316KSFT_SKIP=417 18KSFT_NUM_TESTS=019 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" # optional44 45	local directive_str=46	[ ! -z "$directive" ] && directive_str="# $directive"47 48	echo $result $KTAP_TESTNO $description $directive_str49 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	shift84 85	if $@; then86		ktap_test_pass "$description"87	else88		ktap_test_fail "$description"89	fi90}91 92ktap_exit_fail_msg() {93	echo "Bail out! " $@94	ktap_print_totals95 96	exit "$KSFT_FAIL"97}98 99ktap_finished() {100	ktap_print_totals101 102	if [ $((KTAP_CNT_PASS + KTAP_CNT_SKIP)) -eq "$KSFT_NUM_TESTS" ]; then103		exit "$KSFT_PASS"104	else105		exit "$KSFT_FAIL"106	fi107}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}112