Skip to content

Commit

Permalink
Documentation: kunit: add documentation for kunit_tool
Browse files Browse the repository at this point in the history
Add documentation for the Python script used to build, run, and collect
results from the kernel known as kunit_tool. kunit_tool
(tools/testing/kunit/kunit.py) was already added in previous commits.

Signed-off-by: Brendan Higgins <[email protected]>
Reviewed-by: David Gow <[email protected]>
Cc: Randy Dunlap <[email protected]>
Acked-by: Randy Dunlap <[email protected]>
Signed-off-by: Shuah Khan <[email protected]>
  • Loading branch information
bjh83 authored and shuahkh committed Dec 9, 2019
1 parent e7d7ad0 commit 99e51aa
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 1 deletion.
1 change: 1 addition & 0 deletions Documentation/dev-tools/kunit/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ KUnit - Unit Testing for the Linux Kernel

start
usage
kunit-tool
api/index
faq

Expand Down
57 changes: 57 additions & 0 deletions Documentation/dev-tools/kunit/kunit-tool.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
.. SPDX-License-Identifier: GPL-2.0
=================
kunit_tool How-To
=================

What is kunit_tool?
===================

kunit_tool is a script (``tools/testing/kunit/kunit.py``) that aids in building
the Linux kernel as UML (`User Mode Linux
<http://user-mode-linux.sourceforge.net/>`_), running KUnit tests, parsing
the test results and displaying them in a user friendly manner.

What is a kunitconfig?
======================

It's just a defconfig that kunit_tool looks for in the base directory.
kunit_tool uses it to generate a .config as you might expect. In addition, it
verifies that the generated .config contains the CONFIG options in the
kunitconfig; the reason it does this is so that it is easy to be sure that a
CONFIG that enables a test actually ends up in the .config.

How do I use kunit_tool?
========================

If a kunitconfig is present at the root directory, all you have to do is:

.. code-block:: bash
./tools/testing/kunit/kunit.py run
However, you most likely want to use it with the following options:

.. code-block:: bash
./tools/testing/kunit/kunit.py run --timeout=30 --jobs=`nproc --all`
- ``--timeout`` sets a maximum amount of time to allow tests to run.
- ``--jobs`` sets the number of threads to use to build the kernel.

If you just want to use the defconfig that ships with the kernel, you can
append the ``--defconfig`` flag as well:

.. code-block:: bash
./tools/testing/kunit/kunit.py run --timeout=30 --jobs=`nproc --all` --defconfig
.. note::
This command is particularly helpful for getting started because it
just works. No kunitconfig needs to be present.

For a list of all the flags supported by kunit_tool, you can run:

.. code-block:: bash
./tools/testing/kunit/kunit.py run --help
5 changes: 4 additions & 1 deletion Documentation/dev-tools/kunit/start.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,10 @@ The wrapper can be run with:

.. code-block:: bash
./tools/testing/kunit/kunit.py run
./tools/testing/kunit/kunit.py run --defconfig
For more information on this wrapper (also called kunit_tool) checkout the
:doc:`kunit-tool` page.

Creating a kunitconfig
======================
Expand Down

0 comments on commit 99e51aa

Please sign in to comment.