d03c720e03
Tests for drivers often require a struct device to pass to other functions. While it's possible to create these with root_device_register(), or to use something like a platform device, this is both a misuse of those APIs, and can be difficult to clean up after, for example, a failed assertion. Add some KUnit-specific functions for registering and unregistering a struct device: - kunit_device_register() - kunit_device_register_with_driver() - kunit_device_unregister() These helpers allocate a on a 'kunit' bus which will either probe the driver passed in (kunit_device_register_with_driver), or will create a stub driver (kunit_device_register) which is cleaned up on test shutdown. Devices are automatically unregistered on test shutdown, but can be manually unregistered earlier with kunit_device_unregister() in order to, for example, test device release code. Reviewed-by: Matti Vaittinen <mazziesaccount@gmail.com> Reviewed-by: Maxime Ripard <mripard@kernel.org> Signed-off-by: David Gow <davidgow@google.com> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
28 lines
597 B
Makefile
28 lines
597 B
Makefile
obj-$(CONFIG_KUNIT) += kunit.o
|
|
|
|
kunit-objs += test.o \
|
|
resource.o \
|
|
static_stub.o \
|
|
string-stream.o \
|
|
assert.o \
|
|
try-catch.o \
|
|
executor.o \
|
|
attributes.o \
|
|
device.o
|
|
|
|
ifeq ($(CONFIG_KUNIT_DEBUGFS),y)
|
|
kunit-objs += debugfs.o
|
|
endif
|
|
|
|
# KUnit 'hooks' are built-in even when KUnit is built as a module.
|
|
obj-y += hooks.o
|
|
|
|
obj-$(CONFIG_KUNIT_TEST) += kunit-test.o
|
|
|
|
# string-stream-test compiles built-in only.
|
|
ifeq ($(CONFIG_KUNIT_TEST),y)
|
|
obj-$(CONFIG_KUNIT_TEST) += string-stream-test.o
|
|
endif
|
|
|
|
obj-$(CONFIG_KUNIT_EXAMPLE_TEST) += kunit-example-test.o
|