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

From: Brendan Higgins
Date: Sat Apr 30 2022 - 03:37:43 EST


On Fri, Apr 29, 2022 at 2:13 PM Daniel Latypov <dlatypov@xxxxxxxxxx> 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/20210805043503.20252-3-bvanassche@xxxxxxx/
> 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 <dlatypov@xxxxxxxxxx>
> Reviewed-by: David Gow <davidgow@xxxxxxxxxx>

Reviewed-by: Brendan Higgins <brendanhiggins@xxxxxxxxxx>