Similar to the C counterpart, keep track of the number of test cases in the test plan and add a helper function to be called at the end of the test to print the results and exit with the corresponding exit code.
Signed-off-by: NĂcolas F. R. A. Prado nfraprado@collabora.com --- tools/testing/selftests/kselftest/ktap_helpers.sh | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/kselftest/ktap_helpers.sh b/tools/testing/selftests/kselftest/ktap_helpers.sh index 87f93c6900c5..f2fbb914e058 100644 --- a/tools/testing/selftests/kselftest/ktap_helpers.sh +++ b/tools/testing/selftests/kselftest/ktap_helpers.sh @@ -15,6 +15,8 @@ KSFT_XFAIL=2 KSFT_XPASS=3 KSFT_SKIP=4
+KSFT_NUM_TESTS=0 + ktap_print_header() { echo "TAP version 13" } @@ -25,9 +27,9 @@ ktap_print_msg() }
ktap_set_plan() { - num_tests="$1" + KSFT_NUM_TESTS="$1"
- echo "1..$num_tests" + echo "1..$KSFT_NUM_TESTS" }
ktap_skip_all() { @@ -94,6 +96,16 @@ ktap_exit_fail_msg() { exit "$KSFT_FAIL" }
+ktap_finished() { + ktap_print_totals + + if [ $(("$KTAP_CNT_PASS" + "$KTAP_CNT_SKIP")) -eq "$KSFT_NUM_TESTS" ]; then + exit "$KSFT_PASS" + else + exit "$KSFT_FAIL" + fi +} + ktap_print_totals() { echo "# Totals: pass:$KTAP_CNT_PASS fail:$KTAP_CNT_FAIL xfail:0 xpass:0 skip:$KTAP_CNT_SKIP error:0" }