Re: [PATCH] selftests/mm: fix incorrect skip output in pkey_sighandler_tests

From: David Hildenbrand (Arm)

Date: Tue Aug 25 2026 - 10:55:45 EST


On 8/25/26 14:30, Zenghui Yu wrote:
> From: "Zenghui Yu (Huawei)" <zenghui.yu@xxxxxxxxx>
>
> When pkeys is not supported, ksft_exit_skip() runs with ksft_plan already
> set, which takes the "ok N # SKIP" branch intended for skipping a single
> test case. The result is a TAP plan of 5 but only one result line.
>
> $ ./pkey_sighandler_tests
> TAP version 13
> 1..5
> ok 1 # SKIP pkeys not supported
> # 1 skipped test(s) detected. Consider enabling relevant config options to improve coverage.
> # Planned tests != run tests (5 != 1)
> # Totals: pass:0 fail:0 xfail:0 xpass:0 skip:1 error:0
>
> Move ksft_set_plan() after the skip check so ksft_exit_skip() takes
> the "1..0 # SKIP" branch, the correct TAP representation for
> skipping an entire test file.
>
> $ ./pkey_sighandler_tests
> TAP version 13
> 1..0 # SKIP pkeys not supported
>
> Signed-off-by: Zenghui Yu (Huawei) <zenghui.yu@xxxxxxxxx>
> ---
> tools/testing/selftests/mm/pkey_sighandler_tests.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/mm/pkey_sighandler_tests.c b/tools/testing/selftests/mm/pkey_sighandler_tests.c
> index c218d0510a2a..74bf79a5399d 100644
> --- a/tools/testing/selftests/mm/pkey_sighandler_tests.c
> +++ b/tools/testing/selftests/mm/pkey_sighandler_tests.c
> @@ -543,11 +543,12 @@ static void (*pkey_tests[])(void) = {
> int main(int argc, char *argv[])
> {
> ksft_print_header();
> - ksft_set_plan(ARRAY_SIZE(pkey_tests));
>
> if (!is_pkeys_supported())
> ksft_exit_skip("pkeys not supported\n");
>
> + ksft_set_plan(ARRAY_SIZE(pkey_tests));
> +
> for (test_nr = 0; test_nr < ARRAY_SIZE(pkey_tests); test_nr++) {
> tracing_on();
> (*pkey_tests[test_nr])();

We also handle it like that in soft-dirty.c, so why not

Acked-by: David Hildenbrand (Arm) <david@xxxxxxxxxx>


--
Cheers,

David