On Tue, Mar 31, 2026 at 02:51:48PM -0600, Shuah Khan wrote:
> 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, I will take care of this.
Hangbin
>
> thanks,
> -- Shuah