Commit 2cf45281 authored by Rae Moar's avatar Rae Moar Committed by Shuah Khan
Browse files

kunit: add example suite to test init suites



Add example_init_test_suite to allow for testing the feature of running
test suites marked as init to indicate they use init data and/or
functions.

This suite should always pass and uses a simple init function.

This suite can also be used to test the is_init attribute introduced in
the next patch.

Signed-off-by: default avatarRae Moar <rmoar@google.com>
Reviewed-by: default avatarDavid Gow <davidgow@google.com>
Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
parent d81f0d7b
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
@@ -287,4 +287,41 @@ static struct kunit_suite example_test_suite = {
 */
kunit_test_suites(&example_test_suite);

static int __init init_add(int x, int y)
{
	return (x + y);
}

/*
 * This test should always pass. Can be used to test init suites.
 */
static void __init example_init_test(struct kunit *test)
{
	KUNIT_EXPECT_EQ(test, init_add(1, 1), 2);
}

/*
 * The kunit_case struct cannot be marked as __initdata as this will be
 * used in debugfs to retrieve results after test has run
 */
static struct kunit_case __refdata example_init_test_cases[] = {
	KUNIT_CASE(example_init_test),
	{}
};

/*
 * The kunit_suite struct cannot be marked as __initdata as this will be
 * used in debugfs to retrieve results after test has run
 */
static struct kunit_suite example_init_test_suite = {
	.name = "example_init",
	.test_cases = example_init_test_cases,
};

/*
 * This registers the test suite and marks the suite as using init data
 * and/or functions.
 */
kunit_test_init_section_suites(&example_init_test_suite);

MODULE_LICENSE("GPL v2");