On 2/24/26 18:08, Hangbin Liu wrote:
Instead of manually writing ktap messages, we should use the formal
ktap helpers in runner.sh. Brendan did some work in d9e6269e3303
("selftests/run_kselftest.sh: exit with error if tests fail") to make
run_kselftest.sh exit with the correct return value. However, the output
does not include the total results, such as how many tests passed or failed.

Let’s convert all manually printed messages in runner.sh to use the
formal ktap helpers. Here are what I changed:

   1. Move TAP header from runner.sh to run_kselftest.sh, since run_kselftest.sh
      is the only caller of run_many().
   2. In run_kselftest.sh, call run_many() in main process to count the
      pass/fail numbers.
   3. In run_kselftest.sh, do not generate kselftest_failures_file. Just
      use ktap_print_totals to report the result.
   4. In runner.sh run_one(), get the return value and use ktap helpers for
      all pass/fail reporting. This allows counting pass/fail numbers in the
      main process.
   5. In runner.sh run_in_netns(), also return the correct rc, so we can
      count results during wait.

After the change, the printed result looks like:

   not ok 4 4 selftests: clone3: clone3_cap_checkpoint_restore # exit=1
   # Totals: pass:3 fail:1 xfail:0 xpass:0 skip:0 error:0

   ]# echo $?
   1

Tested-by: Brendan Jackman <[email protected]>
Signed-off-by: Hangbin Liu <[email protected]>
---


Applied to linux-kselftest next for Linux 7.1-rc1

I had to fix commit description and long lines in change log.
In the future make sure to run checkpatch to catch errors
related to commit descriptions.

thanks,
-- Shuah

Reply via email to