On Mon, Jun 6, 2022 at 6:57 AM Javier Martinez Canillas javierm@redhat.com wrote:
<snip>
$ ./tools/testing/kunit/kunit.py run --kunitconfig=drivers/gpu/drm \ --kconfig_add CONFIG_VIRTIO_UML=y \ --kconfig_add CONFIG_UML_PCI_OVER_VIRTIO=y
It's not clear to me why you would need VIRTIO here? The Kunit config file should be enough to run the tests properly
It's needed or otherwise KUnit will complain with:
./tools/testing/kunit/kunit.py run --kunitconfig=drivers/gpu/drm/.kunitconfig [15:47:31] Configuring KUnit Kernel ... Regenerating .config ... Populating config with: $ make ARCH=um O=.kunit olddefconfig ERROR:root:Not all Kconfig options selected in kunitconfig were in the generated .config. This is probably due to unsatisfied dependencies. Missing: CONFIG_DRM=y, CONFIG_DRM_KUNIT_TEST=y Note: many Kconfig options aren't available on UML. You can try running on a different architecture with something like "--arch=x86_64".
The following works correctly but it won't use User Mode Linux:
./tools/testing/kunit/kunit.py run --kunitconfig=drivers/gpu/drm/.kunitconfig --arch=x86_64
But then, can't we add them to .kunitconfig?
That's what I asked in the previous RFC too. Daniel mentioned that it shouldn't go there because is platform specific (AFAIU, one might want to test it on x86,
Slight correction, it was David who explicitly suggested it shouldn't go in there. https://lists.freedesktop.org/archives/dri-devel/2022-June/357611.html
aarch64, etc) but then I asked why we couldn't have a arch/um/.kunitconfig.
The answer was that's not that simple and some agreement on how to do it is needed:
I'm a bit more in favor of having UML-specific options in the drm .kunitconfig file, but I agree it's a bit unclear. If people want to easily run with --arch=x86_64 or others, then they're indeed a liability.
Another option is to perhaps explicitly name the .kunitconfig file something like drm/uml.kunitconfig, which doesn't solve the problem but makes it less of a footgun.
Stepping back, I feel like perhaps a cleaner answer lies in adding a new Kconfig option that selects CONFIG_UML_PCI_OVER_VIRTIO under UML and just CONFIG_PCI otherwise. But that's a bigger discussion still.
Daniel