On 5/2/25 2:51 PM, Miguel Ojeda wrote: > In general, we should aim to test as much as possible within the actual > kernel, and not in the build host. > > Thus convert these `rusttest` tests into KUnit tests.
yes yes yes! :) Like many, many kernel developers, I've been using separate development and test machines, and so "make test" approaches are broken by design. In other works, launching tests from make(1) usually includes the fatal flaw of leaving all the dependencies connected. And so when you try to run on your test machine, it tries to rebuild, but the kernel was build on the development machine... It's just a constraint that should not be imposed on developers. thanks, -- John Hubbard > > Signed-off-by: Miguel Ojeda <oj...@kernel.org> > --- > rust/kernel/str.rs | 10 ++++------ > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/rust/kernel/str.rs b/rust/kernel/str.rs > index 878111cb77bc..cf2caa2db168 100644 > --- a/rust/kernel/str.rs > +++ b/rust/kernel/str.rs > @@ -6,7 +6,7 @@ > use core::fmt::{self, Write}; > use core::ops::{self, Deref, DerefMut, Index}; > > -use crate::error::{code::*, Error}; > +use crate::prelude::*; > > /// Byte string without UTF-8 validity guarantee. > #[repr(transparent)] > @@ -572,8 +572,7 @@ macro_rules! c_str { > }}; > } > > -#[cfg(test)] > -#[expect(clippy::items_after_test_module)] > +#[kunit_tests(rust_kernel_str)] > mod tests { > use super::*; > > @@ -622,11 +621,10 @@ fn test_cstr_to_str() { > } > > #[test] > - #[should_panic] > - fn test_cstr_to_str_panic() { > + fn test_cstr_to_str_invalid_utf8() { > let bad_bytes = b"\xc3\x28\0"; > let checked_cstr = CStr::from_bytes_with_nul(bad_bytes).unwrap(); > - checked_cstr.to_str().unwrap(); > + assert!(checked_cstr.to_str().is_err()); > } > > #[test]