Re: [PATCH] kunit: Report test parameter results as (K)TAP subtests

From: Brendan Higgins
Date: Wed Oct 06 2021 - 16:57:33 EST


On Wed, Oct 6, 2021 at 1:32 PM Daniel Latypov <dlatypov@xxxxxxxxxx> wrote:
>
> On Wed, Oct 6, 2021 at 12:11 AM David Gow <davidgow@xxxxxxxxxx> wrote:
> >
> > Currently, the results for individial parameters in a parameterised test
> > are simply output as (K)TAP diagnostic lines. However, the plan was
> > always[1] to make these (K)TAP subtests when kunit_tool supported them.
> >
> > With [2], these are now supported. (v5 will print out an error about the
> > missing plan line, but this can safely be ignored, and will hopefully be
> > changed). As a result, individual test parameter results are parsed,
>
> Hmm, I'd rather not condition users to ignore warnings.
> It's possible we can get this all fixed up in time for 5.16, but we
> have quite a bit we're trying to get in already, so I'm not sure.

I agree with Daniel. I think we should just get that fixed first. I
will poke Shuah to start applying patches for 5.16 to give us a place
to work.

> > displayed in the formatted results, and counted for test statistics.
> >
> > [1]: https://lore.kernel.org/linux-kselftest/CABVgOSnJAgWvTTABaF082LuYjAoAWzrBsyu9sT7x4GGMVsOD6Q@xxxxxxxxxxxxxx/
> > [2]: https://lore.kernel.org/linux-kselftest/20211006001447.20919-1-dlatypov@xxxxxxxxxx/
> >
> > Signed-off-by: David Gow <davidgow@xxxxxxxxxx>
> > ---
> > lib/kunit/test.c | 7 ++++---
> > 1 file changed, 4 insertions(+), 3 deletions(-)
> >
> > diff --git a/lib/kunit/test.c b/lib/kunit/test.c
> > index f246b847024e..02a9fdadcae2 100644
> > --- a/lib/kunit/test.c
> > +++ b/lib/kunit/test.c
> > @@ -508,6 +508,8 @@ int kunit_run_tests(struct kunit_suite *suite)
> > /* Get initial param. */
> > param_desc[0] = '\0';
> > test.param_value = test_case->generate_params(NULL, param_desc);
> > + kunit_log(KERN_INFO, &test, KUNIT_SUBTEST_INDENT KUNIT_SUBTEST_INDENT
> > + "# Subtest: %s", test_case->name);
> > }
> >
> > do {
> > @@ -520,9 +522,8 @@ int kunit_run_tests(struct kunit_suite *suite)
> > }
> >
> > kunit_log(KERN_INFO, &test,
> > - KUNIT_SUBTEST_INDENT
> > - "# %s: %s %d - %s",
> > - test_case->name,
> > + KUNIT_SUBTEST_INDENT KUNIT_SUBTEST_INDENT
> > + "%s %d - %s",
> > kunit_status_to_ok_not_ok(test.status),
> > test.param_index + 1, param_desc);
> >
> > --
> > 2.33.0.800.g4c38ced690-goog
> >