Commit 028df914 authored by Miguel Ojeda's avatar Miguel Ojeda
Browse files

rust: str: convert `rusttest` tests into KUnit



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.

Reviewed-by: default avatarDavid Gow <davidgow@google.com>
Acked-by: default avatarDanilo Krummrich <dakr@kernel.org>
Link: https://lore.kernel.org/r/20250502215133.1923676-5-ojeda@kernel.org


Signed-off-by: default avatarMiguel Ojeda <ojeda@kernel.org>
parent 897d1df6
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -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]