On Thu, Jul 21, 2022 at 7:54 PM David Gow davidgow@google.com wrote:
On Thu, Jul 21, 2022 at 4:26 PM Sadiya Kazi sadiyakazi@google.com wrote:
[...]
Documentation/dev-tools/kunit/run_wrapper.rst | 60 ++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-)
diff --git a/Documentation/dev-tools/kunit/run_wrapper.rst b/Documentation/dev-tools/kunit/run_wrapper.rst index 5e560f2c5fca..600af7ac5f88 100644 --- a/Documentation/dev-tools/kunit/run_wrapper.rst +++ b/Documentation/dev-tools/kunit/run_wrapper.rst
[...]
@@ -257,3 +257,61 @@ command line arguments: added or modified. Instead, enable all tests which have satisfied dependencies by adding ``CONFIG_KUNIT_ALL_TESTS=y`` to your ``.kunitconfig``.
+- ``--kunitconfig``: Specifies the path or the directory of the ``.kunitconfig``
- file. For example:
- ``lib/kunit/.kunitconfig`` can be the path of the file.
- ``lib/kunit`` can be the directory in which the file is located.
- This file is used to build and run with a predefined set of tests
- and their dependencies. For example, to run tests for a given subsystem.
+- ``--kconfig_add``: Specifies additional configuration options to be
- appended to the ``.kunitconfig`` file.
- For example, ``./tools/testing/kunit/kunit.py run --kconfig_add CONFIG_KASAN=y``.
Just FYI, this example won't work as-is until KASAN for UML is merged. It's already sitting in uml/next, so this shouldn't be a problem: https://git.kernel.org/pub/scm/linux/kernel/git/uml/linux.git/commit/?h=next...
But if you want to try it on 5.19 or the current kunit branch, you'll need to add, e.g., --arch=x86_64
+- ``--arch``: Runs tests on the specified architecture. The architecture
- specified must match the Kbuild ARCH environment variable.
I'm not quite sold on 'must match the Kbuild ARCH environment variable'. That seems to imply to me that you need to set ARCH= _and_ use --arch. Instead, --arch itself sets ARCH=, so the values use the same names.
Agreed, I was just about to reply with a comment to the same effect.
- For example, i386, x86_64, arm, um, etc. Non-UML architectures run on QEMU.
- Default is `um`.
+- ``--cross_compile``: Specifies the Kbuild toolchain. It passes the
- same argument as passed to the ``CROSS_COMPILE`` variable used by
- Kbuild. This will be the prefix for the toolchain
- binaries such as GCC. For example:
- ``sparc64-linux-gnu-`` if we have the sparc toolchain installed on
- our system.
- ``$HOME/toolchains/microblaze/gcc-9.2.0-nolibc/microblaze-linux/bin/microblaze-linux``
- if we have downloaded the microblaze toolchain from the 0-day
- website to a specified path in our home directory called toolchains.
+- ``--qemu_config``: Specifies the path to a file containing a
- custom qemu architecture definition. This should be a python file
- containing a `QemuArchParams` object.
+- ``--qemu_args``: Specifies additional QEMU arguments, for example, "-smp 8".
+- ``--jobs``: Specifies the number of jobs (commands) to run simultaneously.4
- By default, this is set to the number of cores on your system.
+- ``--timeout``: Specifies the maximum number of seconds allowed for all tests to run.
- This does not include the time taken to build the tests.
+- ``--kernel_args``: Specifies additional kernel command-line arguments. Might be repeated.
Nit: maybe "can be repeated"? As it's the reader of this documentation who will likely be doing the repeating. Or "may be repeated"?
+1
[...]