On Wed, Jun 15, 2022 at 9:59 PM Maíra Canal <maira.canal@xxxxxx> wrote: > > KUnit unifies the test structure and provides helper tools that simplify > the development of tests. The basic use case allows running tests as regular > processes, which makes it easier to run unit tests on a development machine > and to integrate the tests into a CI system. > > That said, the conversion of selftests for DRM to KUnit tests is beneficial > as it unifies the testing API by using the KUnit API. > > KUnit is beneficial for developers as it eases the process to run unit tests. > It is possible to run the tests by using the kunit-tool on userspace with the > following command: > > ./tools/testing/kunit/kunit.py run --kunitconfig=drivers/gpu/drm/tests --arch=x86_64 > > For CI system, it is possible to execute during the build. But, we also think > about IGT: we are developing a patch to introduce KUnit to IGT. > > These patches were developed during a KUnit hackathon [0] last October. Now, > we believe that both the IGT side and the Kernel side are in good shape for > submission. > > If you are willing to check the output, here is the Pastebin with the output > and execution times [1]. > > [0] https://groups.google.com/g/kunit-dev/c/YqFR1q2uZvk/m/IbvItSfHBAAJ > [1] https://pastebin.com/FJjLPKsC > > - Arthur Grillo, Isabella Basso, and Maíra Canal Great to see these going upstream! I've tested them on my machine, both with x86_64 qemu and with UML using: ./tools/testing/kunit/kunit.py run --kunitconfig=drivers/gpu/drm/tests/.kunitconfig \ --kconfig_add CONFIG_UML_PCI_OVER_VIRTIO=y \ --kconfig_add CONFIG_VIRTIO_UML=y And all 114 tests pass, and everything looks good. My only minor notes (from a quick look at the results, rather than a detailed review of the code) are that the test names have a few small oddities: - The suites all end in _tests (or _test, in the case of drm_plane_helper_test). This is a bit redundant (and while there is only one drm_plane_helper_test, the inconsistency with the others is a bit awkward), so removing the suffix may be cleaner. (Or at least being optimistic, and making drm_plane_helper_test plural.) - The drm_cmdline_parser_tests suite's tests have some inconsistencies name-wise: they're the only ones to start with drm_, not igt_, and they have a few capital letters in some of the 'drm_cmdline_test_force_D_' tests. (It's also technically redundant to start all of the test names with drm_cmdline_test, given the suite name.) Of course, if you're trying to keep compatibility with existing tests or tooling, or there's some deeper reason they're named like this, it's definitely not a dealbreaker. Either way, this whole series is: Tested-by: David Gow <davidgow@xxxxxxxxxx> Cheers, -- David