Subject: Re: [PATCHv3] selftests: Use ktap helpers for runner.sh

From: Hangbin Liu <[email-masked]>
Date: Thu, 5 Mar 2026 01:56:02 +0000

Hi Shuah,

Is there anything else I need to do to move this patch forward?

Thanks
Hangbin
On Wed, Feb 25, 2026 at 01:06:47PM +0000, Brendan Jackman wrote:
> On Wed Feb 25, 2026 at 1:08 AM UTC, 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-masked]>
> 
> Thanks,
> 
> Reviewed-by: Brendan Jackman <[email-masked]>