[PATCH 0/7] Rust KUnit `#[test]` support improvements

Miguel Ojeda
2025-05-02T21:51:48Z

Improvements that build on top of the very basic `#[test]` support merged in
v6.15.

They are fairly minimal changes, but they allow us to map `assert*!`s back to
KUnit, plus to add support for test functions that return `Result`s.

In essence, they get our `#[test]`s essentially on par with the documentation
tests.

I also took the chance to convert some host `#[test]`s we had to KUnit in order
to showcase the feature.

Finally, I added documentation that was lacking from the original submission.

I hope this helps.

Miguel Ojeda (7):
rust: kunit: support KUnit-mapped `assert!` macros in `#[test]`s
rust: kunit: support checked `-> Result`s in KUnit `#[test]`s
rust: add `kunit_tests` to the prelude
rust: str: convert `rusttest` tests into KUnit
rust: str: take advantage of the `-> Result` support in KUnit
`#[test]`'s
Documentation: rust: rename `#[test]`s to "`rusttest` host tests"
Documentation: rust: testing: add docs on the new KUnit `#[test]`
tests

Documentation/rust/testing.rst | 80 ++++++++++++++++++++++++++++++++--
init/Kconfig | 3 ++
rust/Makefile | 3 +-
rust/kernel/kunit.rs | 29 ++++++++++--
rust/kernel/prelude.rs | 2 +-
rust/kernel/str.rs | 76 ++++++++++++++------------------
rust/macros/helpers.rs | 16 +++++++
rust/macros/kunit.rs | 31 ++++++++++++-
rust/macros/lib.rs | 6 ++-
9 files changed, 191 insertions(+), 55 deletions(-)

base-commit: b4432656b36e5cc1d50a1f2dc15357543add530e
--
2.49.0