Skip to content

Commit

Permalink
docs: rust: Add instructions for the Rust kselftest
Browse files Browse the repository at this point in the history
Add section describing how to build and run the Rust kselftest.

Signed-off-by: Laura Nao <laura.nao@collabora.com>
Reviewed-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
Reviewed-by: Valentin Obst <kernel@valentinobst.de>
Link: https://lore.kernel.org/r/20240405153841.320459-1-laura.nao@collabora.com
[ Formatted paths as inline code literals. - Miguel ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
  • Loading branch information
laura-nao authored and ojeda committed May 5, 2024
1 parent 4a2ae88 commit c8226cd
Showing 1 changed file with 24 additions and 1 deletion.
25 changes: 24 additions & 1 deletion Documentation/rust/testing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,11 @@ Testing
This document contains useful information how to test the Rust code in the
kernel.

There are two sorts of tests:
There are three sorts of tests:

- The KUnit tests.
- The ``#[test]`` tests.
- The Kselftests.

The KUnit tests
---------------
Expand Down Expand Up @@ -133,3 +134,25 @@ Additionally, there are the ``#[test]`` tests. These can be run using the
This requires the kernel ``.config`` and downloads external repositories. It
runs the ``#[test]`` tests on the host (currently) and thus is fairly limited in
what these tests can test.

The Kselftests
--------------

Kselftests are also available in the ``tools/testing/selftests/rust`` folder.

The kernel config options required for the tests are listed in the
``tools/testing/selftests/rust/config`` file and can be included with the aid
of the ``merge_config.sh`` script::

./scripts/kconfig/merge_config.sh .config tools/testing/selftests/rust/config

The kselftests are built within the kernel source tree and are intended to
be executed on a system that is running the same kernel.

Once a kernel matching the source tree has been installed and booted, the
tests can be compiled and executed using the following command::

make TARGETS="rust" kselftest

Refer to Documentation/dev-tools/kselftest.rst for the general Kselftest
documentation.

0 comments on commit c8226cd

Please sign in to comment.