Lines Matching +full:built +full:- +full:in
1 .. SPDX-License-Identifier: GPL-2.0
6 This document contains useful information how to test the Rust code in the
11 - The KUnit tests.
12 - The ``#[test]`` tests.
13 - The Kselftests.
16 ---------------
18 These are the tests that come from the examples in the Rust documentation. They
27 ./tools/testing/kunit/kunit.py run --make_options LLVM=1 --arch x86_64 --kconfig_add CONFIG_RUST=y
29 Alternatively, KUnit can run them as kernel built-in at boot. Refer to
30 Documentation/dev-tools/kunit/index.rst for the general KUnit documentation
31 and Documentation/dev-tools/kunit/architecture.rst for the details of kernel
32 built-in vs. command line testing.
37 Kernel hacking -> Kernel Testing and Coverage -> KUnit - Enable support for unit tests
39 Kernel hacking -> Rust hacking -> Doctests for the `kernel` crate
41 in the kernel config system.
52 .. code-block:: rust
59 pub fn f(a: i32, b: i32) -> i32 {
63 In userspace, the tests are collected and run via ``rustdoc``. Using the tool
64 as-is would be useful already, since it allows verifying that examples compile
65 (thus enforcing they are kept in sync with the code they document) and as well
66 as running those that do not depend on in-kernel APIs.
70 run against a built kernel.
93 Tests using the `? <https://doc.rust-lang.org/reference/expressions/operator-expr.html#the-question…
96 .. code-block:: rust
107 In order for developers to easily see which line of doctest code caused a
109 location (file and line) of the original test (i.e. instead of the location in
119 documentation do not need to care about which testing framework is used. In
120 addition, it may allow us to test third-party code more easily in the future.
122 A current limitation is that KUnit does not support assertions in other tasks.
127 ---------------------
135 (currently) and thus is fairly limited in what these tests can test.
138 --------------
140 Kselftests are also available in the ``tools/testing/selftests/rust`` folder.
142 The kernel config options required for the tests are listed in the
148 The kselftests are built within the kernel source tree and are intended to
156 Refer to Documentation/dev-tools/kselftest.rst for the general Kselftest