Re: [PATCH v9 1/2] kunit: Support for Parameterized Testing

From: Shuah Khan
Date: Tue Dec 01 2020 - 17:29:42 EST


On 11/30/20 3:22 PM, Brendan Higgins wrote:
On Mon, Nov 23, 2020 at 11:25 PM David Gow <davidgow@xxxxxxxxxx> wrote:

On Mon, Nov 23, 2020 at 9:08 PM Marco Elver <elver@xxxxxxxxxx> wrote:

On Tue, 17 Nov 2020 at 08:21, David Gow <davidgow@xxxxxxxxxx> wrote:
On Mon, Nov 16, 2020 at 1:41 PM Arpitha Raghunandan <98.arpi@xxxxxxxxx> wrote:

Implementation of support for parameterized testing in KUnit. This
approach requires the creation of a test case using the
KUNIT_CASE_PARAM() macro that accepts a generator function as input.

This generator function should return the next parameter given the
previous parameter in parameterized tests. It also provides a macro to
generate common-case generators based on arrays. Generators may also
optionally provide a human-readable description of parameters, which is
displayed where available.

Note, currently the result of each parameter run is displayed in
diagnostic lines, and only the overall test case output summarizes
TAP-compliant success or failure of all parameter runs. In future, when
supported by kunit-tool, these can be turned into subsubtest outputs.

Signed-off-by: Arpitha Raghunandan <98.arpi@xxxxxxxxx>
Co-developed-by: Marco Elver <elver@xxxxxxxxxx>
Signed-off-by: Marco Elver <elver@xxxxxxxxxx>
---
[Resending this because my email client re-defaulted to HTML! Aarrgh!]

This looks good to me! I tested it in UML and x86-64 w/ KASAN, and
both worked fine.

Reviewed-by: David Gow <davidgow@xxxxxxxxxx>
Tested-by: David Gow <davidgow@xxxxxxxxxx>

Thank you!

Thanks for sticking with this!

Will these patches be landing in 5.11 or 5.12?


I can't think of any reason not to have these in 5.11. We haven't
started staging things in the kselftest/kunit branch for 5.11 yet,
though.

Patch 2 will probably need to be acked by Ted for ext4 first.

Brendan, Shuah: can you make sure this doesn't get lost in patchwork?

Looks good to me. I would definitely like to pick this up. But yeah,
in order to pick up 2/2 we will need an ack from either Ted or Iurii.

Ted seems to be busy right now, so I think I will just ask Shuah to go
ahead and pick this patch up by itself and we or Ted can pick up patch
2/2 later.

Cheers


I am seeing

ERROR: need consistent spacing around '*' (ctx:WxV)
#272: FILE: include/kunit/test.h:1786:
+ typeof((array)[0]) *__next = prev ? ((typeof(__next)) prev) + 1 : (array); \
^

Can you look into this and send v10?

thanks,
-- Shuah