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>