Re: [PATCH v2 00/17] kunit: introduce KUnit, the Linux kernel unit testing framework
From: Frank Rowand
Date: Wed May 08 2019 - 22:15:11 EST
On 5/8/19 6:58 PM, Theodore Ts'o wrote:
> On Wed, May 08, 2019 at 05:43:35PM -0700, Frank Rowand wrote:
>> kselftest provides a mechanism for in-kernel tests via modules. For
>> example, see:
>> tools/testing/selftests/vm/run_vmtests invokes:
>> loads module:
>> (which is built from lib/test_vmalloc.c if CONFIG_TEST_VMALLOC)
> The majority of the kselftests are implemented as userspace programs.
> You *can* run in-kernel test using modules; but there is no framework
> for the in-kernel code found in the test modules, which means each of
> the in-kernel code has to create their own in-kernel test
Why create an entire new subsystem (KUnit) when you can add a header
file (and .c code as appropriate) that outputs the proper TAP formatted
results from kselftest kernel test modules?
There are already a multitude of in kernel test modules used by
kselftest. It would be good if they all used a common TAP compliant
mechanism to report results.
> That's much like saying you can use vice grips to turn a nut or
> bolt-head. You *can*, but it might be that using a monkey wrench
> would be a much better tool that is much easier.
> What would you say to a wood worker objecting that a toolbox should
> contain a monkey wrench because he already knows how to use vise
> grips, and his tiny brain shouldn't be forced to learn how to use a
> wrench when he knows how to use a vise grip, which is a perfectly good
> If you want to use vice grips as a hammer, screwdriver, monkey wrench,
> etc. there's nothing stopping you from doing that. But it's not fair
> to object to other people who might want to use better tools.
> The reality is that we have a lot of testing tools. It's not just
> kselftests. There is xfstests for file system code, blktests for
> block layer tests, etc. We use the right tool for the right job.
More specious arguments.
> - Ted