Re: [PATCH v2] ww_mutex: convert self-test to KUnit
From: Tamir Duberstein
Date: Fri Feb 14 2025 - 07:38:49 EST
On Fri, Feb 14, 2025 at 4:48 AM Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> On Thu, Feb 13, 2025 at 10:42:24AM -0500, Tamir Duberstein wrote:
> > On Thu, Feb 13, 2025 at 6:59 AM Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> > >
> > > On Thu, Feb 13, 2025 at 06:40:20AM -0500, Tamir Duberstein wrote:
> > > > Convert this unit test to a KUnit test. This allows the test to benefit
> > > > from the KUnit tooling. Note that care is taken to avoid test-ending
> > > > assertions in worker threads, which is unsafe in KUnit (and wasn't done
> > > > before this change either).
> > >
> > > So this was something simple, and now I need to know how to operate this
> > > kunit nonsense :-(
> > >
> > > How is that an improvement?
> >
> > Hi Peter,
> >
> > David enumerated some of the benefits of KUnit in another
> > thread: https://lore.kernel.org/all/CABVgOS=KZrM2dWyp1HzVS0zh7vquLxmTY2T2Ti53DQADrW+sJg@xxxxxxxxxxxxxx/.
> >
> > My personal reason for preferring KUnit is that it's much easier to
> > run from userspace; the tooling takes care of building, starting the
> > VM, running the tests, and producing a human-friendly report.
>
> Wait what -- you have to run a VM just to use Kunit? That's a hard pass.
>
> If I can't simply run it natively on my test box, its a no go. And it
> using python also don't help, you shouldn't be needing that to load a
> module.
The tooling I mention is all optional. You can still use modprobe to
run the test as a module or at boot. In this case you'd set:
CONFIG_KUNIT=y
CONFIG_WW_MUTEX_KUNIT_TEST=m
and then run the test via:
```
modprobe ww_mutex_kunit
```
or to run at boot:
CONFIG_KUNIT=y
CONFIG_WW_MUTEX_KUNIT_TEST=y
Link: https://www.kernel.org/doc/html/latest/dev-tools/kunit/running_tips.html#running-built-in-tests
Link: https://www.kernel.org/doc/html/latest/dev-tools/kunit/running_tips.html#running-tests-as-modules