At present, kunit_tool simply reports "0 tests run" if UML fails to start, which can be misleading. It'd be nice if a "Couldn't start kernel", or even a "No KUnit output detected" or similar message could be displayed if the kernel is never able to get to the point of running KUnit tests. "0 tests run" should ideally only show up if an explicit test plan with only 0 tests is present in the log. See, as an example of where this was confusing: https://lore.kernel.org/linux-kselftest/ef994ce9-ccd8-e9c9-9838-049a62a3a561@intel.com/
This currently reports no tests having been run as an error: [19:13:18] Starting KUnit Kernel ... [ERROR] no tests run! [19:13:18] ============================================================ [19:13:18] Testing complete. 0 tests run. 0 failed. 0 crashed. [19:13:18] Elapsed time: 0.000s And Python errors are generated instead for cases where the UML kernel cannot start at all, e.g.: [Stacktrace elided] FileNotFoundError: [Errno 2] No such file or directory: '.kunit/linux' If there are zero tests configured, we report: [ERROR] could not parse test results! The raw TAP output in this case is: TAP version 14 1..0 It seems to me like these two error messages should really be the other way around, but this is otherwise _mostly_ fixed.
The error messages will be the right way around once this patch is accepted: https://lore.kernel.org/linux-kselftest/20210629223541.1512296-1-rmoar@google.com/
This is now upstream: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ed01ad3a2fac8fff63f441ead4f8653da053c65b