Menu Close

git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
cd linux

./tools/testing/kunit/kunit.py config

./tools/testing/kunit/kunit.py build

./tools/testing/kunit/kunit.py run

Create a new test file (e.g., my_module_test.c) in the same directory as your kernel module.

include

static void my_test_case(struct kunit *test)
{
KUNIT_EXPECT_EQ(test, 1 + 1, 2);
}

static struct kunit_case my_test_cases[] = {
KUNIT_CASE(my_test_case),
{}
};

static struct kunit_suite my_test_suite = {
.name = "my_test",
.test_cases = my_test_cases,
};

kunit_test_suite(my_test_suite);
obj-$(CONFIG_MY_TEST) += my_module_test.o

Add to Kconfig:
config MY_TEST
tristate “My KUnit test”
depends on KUNIT

Enable CONFIG_MY_TEST in .kunit/.config

./tools/testing/kunit/kunit.py run –raw_output

./tools/testing/kunit/kunit.py build –make_options=”KCFLAGS=-Wno-missing-prototypes -Wno-implicit-function-declaration