Hi, On Fri, Feb 11, 2022 at 02:54:37PM -0800, Daniel Latypov wrote: > On Fri, Feb 11, 2022 at 8:33 AM Ricardo Ribalda <ribalda@xxxxxxxxxxxx> wrote: > > > > Hi Mika > > > > On Fri, 11 Feb 2022 at 17:31, Mika Westerberg > > <mika.westerberg@xxxxxxxxxxxxxxx> wrote: > > > > > > On Fri, Feb 11, 2022 at 06:26:56PM +0200, Mika Westerberg wrote: > > > > > To test it I had enabled: > > > > > PCI, USB4 and USB4_KUNIT_TEST > > > > > > > > > > and then run it with > > > > > > > > > > ./tools/testing/kunit/kunit.py run --jobs=$(nproc) --arch=x86_64 > > > > > > > > > > Unfortunately, kunit was not able to run the tests > > > > > > > > > > This hack did the trick: > > > > > > > > > > > > > > > int tb_test_init(void) > > > > > { > > > > > - return __kunit_test_suites_init(tb_test_suites); > > > > > + //return __kunit_test_suites_init(tb_test_suites); > > > > > + return 0; > > > > > } > > > > > > > > > > void tb_test_exit(void) > > > > > { > > > > > - return __kunit_test_suites_exit(tb_test_suites); > > > > > + //return __kunit_test_suites_exit(tb_test_suites); > > > > > } > > > > > + > > > > > +kunit_test_suites(&tb_test_suite); > > > > > > > > > > I looked into why we do this and I found: > > > > > > > > > > thunderbolt: Allow KUnit tests to be built also when CONFIG_USB4=m > > > > > > > > > > > > > > > I am a bit confused. The patch talks about build coverage, but even > > > > > with that patch reverted if > > > > > USB4_KUNIT_TEST=m > > > > > then test.c is built. > > > > > > > > > > Shouldn't we simply revert that patch? > > > > > > > > Nah, either build it into the kernel or load the driver manually: > > > > > > > > # modprobe thunderbolt > > > > > > Forgot to explain why this does not run the tests (I think): > > > > > > ./tools/testing/kunit/kunit.py run --jobs=$(nproc) --arch=x86_64 > > > > > > The driver depends on PCI and I don't think that's enabled on UML at > > > least. I typically run it inside QEMU. > > You can get it working on UML now. > If you apply the patch upthread for the test to use kunit_test_suites(), then > > $ cat usb4_kunitconfig > CONFIG_PCI=y > CONFIG_VIRTIO_UML=y > CONFIG_UML_PCI_OVER_VIRTIO=y > > CONFIG_KUNIT=y > CONFIG_USB4=y > CONFIG_USB4_KUNIT_TEST=y > > $ ./tools/testing/kunit/kunit.py run --kunitconfig=usb4_kunitconfig > ... > [14:48:55] [PASSED] tb_test_property_copy > [14:48:55] =================== [PASSED] thunderbolt =================== > [14:48:55] ============================================================ > [14:48:55] Testing complete. Passed: 37, Failed: 0, Crashed: 0, > Skipped: 0, Errors: 0 That's great! > Mika, should I propose a patch that updates the test and adds a > drivers/thunderbolt/.kunitconfig with the above contents? > > Then it could be invoked as > $ ./tools/testing/kunit/kunit.py run --kunitconfig=drivers/thunderbolt Yes please :)