Re: Enabling additional KUnit tests in KernelCI?

Mark Brown <[email protected]> Fri, 13 Mar 2026 12:31:41 +0000
Newsgroups dev.linux.lists.kernelci
Message-ID <[email protected]>
--Po24HKR3YMAV6BWk
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Fri, Mar 13, 2026 at 01:04:56AM +0000, Eric Biggers wrote:
> On Thu, Mar 12, 2026 at 11:34:51PM +0000, Mark Brown wrote:

> > Whatever is enabled by the KUnit runner tools/testing/kunit/kunit.py
> > (which makes x86_64 a bit of an unfortunate choice given how slim theilr
> > defconfig is).  The theory is that the KUnit configs will do the right

> Yes, the tests run by kunit.py depend on the args passed to it.  It
> looks like without any arguments it runs all tests available with
> defconfig + tools/testing/kunit/configs/default.config.  With
> --alltests, it runs all tests available with defconfig +
> tools/testing/kunit/configs/all_tests.config.  Both set
> "CONFIG_KUNIT_ALL_TESTS=y", so the difference is just what additional
> options get enabled to fulfill the test dependencies.  all_tests.config
> enables more dependencies than default.config.

Yes, exactly.

> So I think KernelCI should start passing --alltests to kunit.py, and I
> should get the dependencies for all the crypto and CRC tests added to
> tools/testing/kunit/configs/all_tests.config.  Then KernelCI would pick
> them up automatically.

That sounds like a plan.

> > The KUnit runner uses qemu as standard which I guess is probably fine
> > for an initial pass, we would need to do a bunch more plumbing to run on
> > actual hardware and pull the results out.  We'd also be restricted by
> > what's available to us, at the minute we've got arm, arm64, riscv and
> > x86 systems with a bit of an embedded focus.

> It seems kunit.py uses UML by default, though it accepts an --arch
> argument which enables QEMU.  So something to think about for KernelCI
> would be to run all KUnit tests with different combinations of --arch.

Right, and UML only works with an x86 host which is fun.  qemu is the
standard way of running for a specific architecture.

--Po24HKR3YMAV6BWk
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmm0A6wACgkQJNaLcl1U
h9DwJAf8DxjIWGzC15EUwpndpzSTFqKA8BbVsCXFjejA/80M75l31xfbja/4aJku
SJZKk1CcFi7f9K19ywfwFNrg7UzGI/MrXPvL7qya9KXl90y58Rzl81l5/QgoqyRk
7NaA8JuietgYWvBmwlgrpKVLqkEdRut9Y+nbOwtkcJ995BEHGOsELK9nYH84eTkE
8yB9DLgZs8EGKj09hbRf1Athx2RFOxTet9xzwAC13joVMYbwZd0xIcjxtnia3NVw
bLCwE5Q27KVUqp8w50hL60T4EHUtLuyVOD5NJgU1O8nF0RcrsP9aL/0u4Y7bj4Ec
EjoaVS30tkBDp91D5vZhZbtIebE1LA==
=PDf4
-----END PGP SIGNATURE-----

--Po24HKR3YMAV6BWk--