This series adds a few missing functions to the shell KTAP helpers
script which are present in the C counterpart, kselftest.h.
This series depends on
"selftests: Move KTAP bash helpers to selftests common folder"
https://lore.kernel.org/all/[email protected]/
Signed-off-by: Nícolas F. R. A. Prado <[email protected]>
---
Nícolas F. R. A. Prado (4):
selftests: ktap_helpers: Add helper to print diagnostic messages
selftests: ktap_helpers: Add helper to pass/fail test based on exit code
selftests: ktap_helpers: Add a helper to abort the test
selftests: ktap_helpers: Add a helper to finish the test
tools/testing/selftests/kselftest/ktap_helpers.sh | 39 +++++++++++++++++++++--
1 file changed, 37 insertions(+), 2 deletions(-)
---
base-commit: f1ca07220ad16a9efae7f68e4bade0db89b63a3c
change-id: 20240131-ktap-sh-helpers-extend-805b77ca773c
Best regards,
--
Nícolas F. R. A. Prado <[email protected]>
Similar to the C counterpart, add a helper to print a diagnostic
message.
Signed-off-by: Nícolas F. R. A. Prado <[email protected]>
---
tools/testing/selftests/kselftest/ktap_helpers.sh | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tools/testing/selftests/kselftest/ktap_helpers.sh b/tools/testing/selftests/kselftest/ktap_helpers.sh
index dd79d96f3b5a..ecc1413c22cd 100644
--- a/tools/testing/selftests/kselftest/ktap_helpers.sh
+++ b/tools/testing/selftests/kselftest/ktap_helpers.sh
@@ -19,6 +19,11 @@ ktap_print_header() {
echo "TAP version 13"
}
+ktap_print_msg()
+{
+ echo "#" $@
+}
+
ktap_set_plan() {
num_tests="$1"
--
2.43.0
Similar to the C counterpart, add a helper function that runs a command
and passes or fails the test based on the result.
Signed-off-by: Nícolas F. R. A. Prado <[email protected]>
---
tools/testing/selftests/kselftest/ktap_helpers.sh | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/tools/testing/selftests/kselftest/ktap_helpers.sh b/tools/testing/selftests/kselftest/ktap_helpers.sh
index ecc1413c22cd..29107924f5c2 100644
--- a/tools/testing/selftests/kselftest/ktap_helpers.sh
+++ b/tools/testing/selftests/kselftest/ktap_helpers.sh
@@ -76,6 +76,17 @@ ktap_test_fail() {
KTAP_CNT_FAIL=$((KTAP_CNT_FAIL+1))
}
+ktap_test_result() {
+ description="$1"
+ shift
+
+ if $@; then
+ ktap_test_pass "$description"
+ else
+ ktap_test_fail "$description"
+ fi
+}
+
ktap_print_totals() {
echo "# Totals: pass:$KTAP_CNT_PASS fail:$KTAP_CNT_FAIL xfail:0 xpass:0 skip:$KTAP_CNT_SKIP error:0"
}
--
2.43.0
Similar to the C counterpart, add a helper function to abort the
remainder of the test.
Signed-off-by: Nícolas F. R. A. Prado <[email protected]>
---
tools/testing/selftests/kselftest/ktap_helpers.sh | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/tools/testing/selftests/kselftest/ktap_helpers.sh b/tools/testing/selftests/kselftest/ktap_helpers.sh
index 29107924f5c2..87f93c6900c5 100644
--- a/tools/testing/selftests/kselftest/ktap_helpers.sh
+++ b/tools/testing/selftests/kselftest/ktap_helpers.sh
@@ -87,6 +87,13 @@ ktap_test_result() {
fi
}
+ktap_exit_fail_msg() {
+ echo "Bail out! " $@
+ ktap_print_totals
+
+ exit "$KSFT_FAIL"
+}
+
ktap_print_totals() {
echo "# Totals: pass:$KTAP_CNT_PASS fail:$KTAP_CNT_FAIL xfail:0 xpass:0 skip:$KTAP_CNT_SKIP error:0"
}
--
2.43.0
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 <[email protected]>
---
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"
}
--
2.43.0
On 1/31/24 15:02, Nícolas F. R. A. Prado wrote:
> This series adds a few missing functions to the shell KTAP helpers
> script which are present in the C counterpart, kselftest.h.
>
> This series depends on
> "selftests: Move KTAP bash helpers to selftests common folder"
> https://lore.kernel.org/all/[email protected]/
>
> Signed-off-by: Nícolas F. R. A. Prado <[email protected]>
> ---
> Nícolas F. R. A. Prado (4):
> selftests: ktap_helpers: Add helper to print diagnostic messages
> selftests: ktap_helpers: Add helper to pass/fail test based on exit code
> selftests: ktap_helpers: Add a helper to abort the test
> selftests: ktap_helpers: Add a helper to finish the test
>
> tools/testing/selftests/kselftest/ktap_helpers.sh | 39 +++++++++++++++++++++--
> 1 file changed, 37 insertions(+), 2 deletions(-)
> ---
> base-commit: f1ca07220ad16a9efae7f68e4bade0db89b63a3c
> change-id: 20240131-ktap-sh-helpers-extend-805b77ca773c
>
> Best regards,
Applied to next for Linux 6.9-rc1
thanks,
-- Shuah