Message ID | 20230421040218.2156548-4-davidgow@google.com (mailing list archive) |
---|---|
State | Accepted |
Commit | a5ce66ad292b681ffe245e1c0e8840484da76784 |
Delegated to: | Brendan Higgins |
Headers | show |
Series | [v3,1/4] kunit: Always run cleanup from a test kthread | expand |
On Fri, Apr 21, 2023 at 12:02 AM David Gow <davidgow@google.com> wrote: > > Add an example .exit and .suite_exit function to the KUnit example > suite. Given exit functions are a bit more subtle than init functions > (due to running in a different kthread, and running even after tests or > test init functions fail), providing an easy place to experiment with > them is useful. > > Signed-off-by: David Gow <davidgow@google.com> Hi David! I have reviewed this patch and the overall changes to the cleanup structure. It looks good to me (other than that kernel test robot error). Nice to see an example of how to use exit functions in our example test. Thanks! -Rae Reviewed-by: Rae Moar <rmoar@google.com> > --- > > This patch was introduced in v3. > > --- > lib/kunit/kunit-example-test.c | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/lib/kunit/kunit-example-test.c b/lib/kunit/kunit-example-test.c > index cd8b7e51d02b..24315c882b31 100644 > --- a/lib/kunit/kunit-example-test.c > +++ b/lib/kunit/kunit-example-test.c > @@ -41,6 +41,16 @@ static int example_test_init(struct kunit *test) > return 0; > } > > +/* > + * This is run once after each test case, see the comment on > + * example_test_suite for more information. > + */ > +static void example_test_exit(struct kunit *test) > +{ > + kunit_info(test, "cleaning up\n"); > +} > + > + > /* > * This is run once before all test cases in the suite. > * See the comment on example_test_suite for more information. > @@ -52,6 +62,16 @@ static int example_test_init_suite(struct kunit_suite *suite) > return 0; > } > > +/* > + * This is run once after all test cases in the suite. > + * See the comment on example_test_suite for more information. > + */ > +static void example_test_exit_suite(struct kunit_suite *suite) > +{ > + kunit_info(suite, "exiting suite\n"); > +} > + > + > /* > * This test should always be skipped. > */ > @@ -211,7 +231,9 @@ static struct kunit_case example_test_cases[] = { > static struct kunit_suite example_test_suite = { > .name = "example", > .init = example_test_init, > + .exit = example_test_exit, > .suite_init = example_test_init_suite, > + .suite_exit = example_test_exit_suite, > .test_cases = example_test_cases, > }; > > -- > 2.40.0.634.g4ca3ef3211-goog >
diff --git a/lib/kunit/kunit-example-test.c b/lib/kunit/kunit-example-test.c index cd8b7e51d02b..24315c882b31 100644 --- a/lib/kunit/kunit-example-test.c +++ b/lib/kunit/kunit-example-test.c @@ -41,6 +41,16 @@ static int example_test_init(struct kunit *test) return 0; } +/* + * This is run once after each test case, see the comment on + * example_test_suite for more information. + */ +static void example_test_exit(struct kunit *test) +{ + kunit_info(test, "cleaning up\n"); +} + + /* * This is run once before all test cases in the suite. * See the comment on example_test_suite for more information. @@ -52,6 +62,16 @@ static int example_test_init_suite(struct kunit_suite *suite) return 0; } +/* + * This is run once after all test cases in the suite. + * See the comment on example_test_suite for more information. + */ +static void example_test_exit_suite(struct kunit_suite *suite) +{ + kunit_info(suite, "exiting suite\n"); +} + + /* * This test should always be skipped. */ @@ -211,7 +231,9 @@ static struct kunit_case example_test_cases[] = { static struct kunit_suite example_test_suite = { .name = "example", .init = example_test_init, + .exit = example_test_exit, .suite_init = example_test_init_suite, + .suite_exit = example_test_exit_suite, .test_cases = example_test_cases, };
Add an example .exit and .suite_exit function to the KUnit example suite. Given exit functions are a bit more subtle than init functions (due to running in a different kthread, and running even after tests or test init functions fail), providing an easy place to experiment with them is useful. Signed-off-by: David Gow <davidgow@google.com> --- This patch was introduced in v3. --- lib/kunit/kunit-example-test.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)