Re: [PATCH linux-kselftest/test v4] Documentation: kunit: add documentation for kunit_tool

From: Randy Dunlap
Date: Tue Nov 19 2019 - 20:44:43 EST


On 11/19/19 5:17 PM, Brendan Higgins wrote:
> 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 <brendanhiggins@xxxxxxxxxx>
> Reviewed-by: David Gow <davidgow@xxxxxxxxxx>
> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>

Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>

Thanks.

> ---
> Documentation/dev-tools/kunit/index.rst | 1 +
> Documentation/dev-tools/kunit/kunit-tool.rst | 57 ++++++++++++++++++++
> Documentation/dev-tools/kunit/start.rst | 5 +-
> 3 files changed, 62 insertions(+), 1 deletion(-)
> create mode 100644 Documentation/dev-tools/kunit/kunit-tool.rst
>
> diff --git a/Documentation/dev-tools/kunit/index.rst b/Documentation/dev-tools/kunit/index.rst
> index 26ffb46bdf99d..c60d760a0eed1 100644
> --- a/Documentation/dev-tools/kunit/index.rst
> +++ b/Documentation/dev-tools/kunit/index.rst
> @@ -9,6 +9,7 @@ KUnit - Unit Testing for the Linux Kernel
>
> start
> usage
> + kunit-tool
> api/index
> faq
>
> diff --git a/Documentation/dev-tools/kunit/kunit-tool.rst b/Documentation/dev-tools/kunit/kunit-tool.rst
> new file mode 100644
> index 0000000000000..50d46394e97e3
> --- /dev/null
> +++ b/Documentation/dev-tools/kunit/kunit-tool.rst
> @@ -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
> diff --git a/Documentation/dev-tools/kunit/start.rst b/Documentation/dev-tools/kunit/start.rst
> index aeeddfafeea20..f4d9a4fa914f8 100644
> --- a/Documentation/dev-tools/kunit/start.rst
> +++ b/Documentation/dev-tools/kunit/start.rst
> @@ -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
> ======================
>


--
~Randy
Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>