2022-05-01 21:46:58

by Brendan Higgins

[permalink] [raw]
Subject: Re: [PATCH v2 2/4] kunit: add ability to specify suite-level init and exit functions

On Fri, Apr 29, 2022 at 2:13 PM Daniel Latypov <[email protected]> wrote:
>
> KUnit has support for setup/cleanup logic for each test case in a suite.
> But it lacks the ability to specify setup/cleanup for the entire suite
> itself.
>
> This can be used to do setup that is too expensive or cumbersome to do
> for each test.
> Or it can be used to do simpler things like log debug information after
> the suite completes.
> It's a fairly common feature, so the lack of it is noticeable.
>
> Some examples in other frameworks and languages:
> * https://docs.python.org/3/library/unittest.html#setupclass-and-teardownclass
> * https://google.github.io/googletest/reference/testing.html#Test::SetUpTestSuite
>
> Meta:
> This is very similar to this patch here: https://lore.kernel.org/linux-kselftest/[email protected]/
> The changes from that patch:
> * pass in `struct kunit *` so users can do stuff like
> `kunit_info(suite, "debug message")`
> * makes sure the init failure is bubbled up as a failure
> * updates kunit-example-test.c to use a suite init
> * Updates kunit/usage.rst to mention the new support
> * some minor cosmetic things
> * use `suite_{init,exit}` instead of `{init/exit}_suite`
> * make suite init error message more consistent w/ test init
> * etc.
>
> Signed-off-by: Daniel Latypov <[email protected]>
> Reviewed-by: David Gow <[email protected]>

Reviewed-by: Brendan Higgins <[email protected]>