===========
Using KUnit
===========

.. toctree::
   :maxdepth: 2
   :caption: Contents:

   getting_kunit
   faq

Where is KUnit?
:doc:`getting_kunit`


KUnit is integrated into the Linux kernel, so all you need is a version of the
kernel which contains KUnit, and a config file with which to build it. The
:doc:`getting_kunit` page covers the different versions of KUnit available, and
where to get them.


Running tests
=============

To run KUnit tests, you'll need to provide a 'kunitconfig' file, which contains
the list of test modules to build, and their dependencies.

Once you have the ``kunitconfig`` file, just run:

``$ ./tools/testing/kunit/kunit.py run``

This will build a UML (User Mode Linux) kernel, run the specified tests, and
print the results (nicely formatted) to the screen.


Writing tests
=============

Once you have KUnit working, writing tests is easy. Each test is a function
which accepts a ``struct kunit`` argument, and which calls the various
``KUNIT_EXPECT_*`` macros to verify the state under test.

More details can be found in the `Getting Started <../third_party/kernel/docs/start.html>`_
guide.


Submitting tests upstream
=========================

Ideally, KUnit tests will be submitted upstream alongside the code being tested,
so any user or developer can run the tests and test any changes they make. Once
KUnit itself is upstream, this means that KUnit tests should ideally be treated
as any other change, and submitted via the maintainer of the subsystem being
tested. (Though do feel free to copy in the ``kunit-dev@googlegroups.com`` list
if you want.)

For the time being, though, we recommend submitting patches via the
``linux-kselftest/test`` branch, which contains the version of KUnit likely to
head upstream. To do so, please send your patch via the
``linux-kselftest@vger.kernel.org`` list, and include ``linux-kselftest/test``
in the subject prefix. You should still get a review from the subsystem
maintainer, though.

And, of course, you should follow the general rules and guidelines laid out in
https://www.kernel.org/doc/html/latest/process/submitting-patches.html
