thunderbolt: Add KUnit tests for path walking

This adds KUnit tests for path walking which is only dependent on
software structures, so no hardware is needed to run these.

We make these available only when both KUnit and the driver itself are
built into the kernel image. The reason for this is that KUnit adds its
own module_init() call in kunit_test_suite() which generates linker
error because the driver does the same in nhi.c. This should be fine for
now because these tests are only meant to run by developers anyway.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
This commit is contained in:
Mika Westerberg 2020-04-29 16:38:39 +03:00
parent c738a794e5
commit 54509f5005
3 changed files with 1235 additions and 0 deletions

View File

@ -15,3 +15,8 @@ menuconfig USB4
To compile this driver a module, choose M here. The module will be To compile this driver a module, choose M here. The module will be
called thunderbolt. called thunderbolt.
config USB4_KUNIT_TEST
bool "KUnit tests"
depends on KUNIT=y
depends on USB4=y

View File

@ -2,3 +2,5 @@
obj-${CONFIG_USB4} := thunderbolt.o obj-${CONFIG_USB4} := thunderbolt.o
thunderbolt-objs := nhi.o nhi_ops.o ctl.o tb.o switch.o cap.o path.o tunnel.o eeprom.o thunderbolt-objs := nhi.o nhi_ops.o ctl.o tb.o switch.o cap.o path.o tunnel.o eeprom.o
thunderbolt-objs += domain.o dma_port.o icm.o property.o xdomain.o lc.o tmu.o usb4.o thunderbolt-objs += domain.o dma_port.o icm.o property.o xdomain.o lc.o tmu.o usb4.o
obj-${CONFIG_USB4_KUNIT_TEST} += test.o

1228
drivers/thunderbolt/test.c Normal file

File diff suppressed because it is too large Load Diff