kunit: example: Provide example exit functions
authorDavid Gow <davidgow@google.com>
Wed, 10 May 2023 05:38:32 +0000 (13:38 +0800)
committerShuah Khan <skhan@linuxfoundation.org>
Fri, 12 May 2023 00:17:41 +0000 (18:17 -0600)
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.

Reviewed-by: Rae Moar <rmoar@google.com>
Signed-off-by: David Gow <davidgow@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
lib/kunit/kunit-example-test.c

index cd8b7e5..24315c8 100644 (file)
@@ -42,6 +42,16 @@ static int example_test_init(struct kunit *test)
 }
 
 /*
+ * 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.
  */
@@ -53,6 +63,16 @@ static int example_test_init_suite(struct kunit_suite *suite)
 }
 
 /*
+ * 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.
  */
 static void example_skip_test(struct kunit *test)
@@ -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,
 };