mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 18:13:41 +02:00
rust: kunit: use pin_init::zeroed instead of custom null value
The last null element can be created (constly) using `pin_init::zeroed`, so prefer to use it instead of adding a custom way of building it. Reviewed-by: Tamir Duberstein <tamird@gmail.com> Reviewed-by: Benno Lossin <lossin@kernel.org> Signed-off-by: Gary Guo <gary@garyguo.net> Reviewed-by: David Gow <davidgow@google.com> Link: https://patch.msgid.link/20260112170919.1888584-12-gary@kernel.org Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
This commit is contained in:
parent
d421fa4f73
commit
be97f3c820
|
|
@ -189,9 +189,6 @@ pub fn is_test_result_ok(t: impl TestResult) -> bool {
|
|||
}
|
||||
|
||||
/// Represents an individual test case.
|
||||
///
|
||||
/// The [`kunit_unsafe_test_suite!`] macro expects a `NULL`-terminated list of valid test cases.
|
||||
/// Use [`kunit_case_null`] to generate such a delimiter.
|
||||
#[doc(hidden)]
|
||||
pub const fn kunit_case(
|
||||
name: &'static kernel::str::CStr,
|
||||
|
|
@ -212,27 +209,6 @@ pub const fn kunit_case(
|
|||
}
|
||||
}
|
||||
|
||||
/// Represents the `NULL` test case delimiter.
|
||||
///
|
||||
/// The [`kunit_unsafe_test_suite!`] macro expects a `NULL`-terminated list of test cases. This
|
||||
/// function returns such a delimiter.
|
||||
#[doc(hidden)]
|
||||
pub const fn kunit_case_null() -> kernel::bindings::kunit_case {
|
||||
kernel::bindings::kunit_case {
|
||||
run_case: None,
|
||||
name: core::ptr::null_mut(),
|
||||
generate_params: None,
|
||||
attr: kernel::bindings::kunit_attributes {
|
||||
speed: kernel::bindings::kunit_speed_KUNIT_SPEED_NORMAL,
|
||||
},
|
||||
status: kernel::bindings::kunit_status_KUNIT_SUCCESS,
|
||||
module_name: core::ptr::null_mut(),
|
||||
log: core::ptr::null_mut(),
|
||||
param_init: None,
|
||||
param_exit: None,
|
||||
}
|
||||
}
|
||||
|
||||
/// Registers a KUnit test suite.
|
||||
///
|
||||
/// # Safety
|
||||
|
|
@ -251,7 +227,7 @@ pub const fn kunit_case_null() -> kernel::bindings::kunit_case {
|
|||
///
|
||||
/// static mut KUNIT_TEST_CASES: [kernel::bindings::kunit_case; 2] = [
|
||||
/// kernel::kunit::kunit_case(c"name", test_fn),
|
||||
/// kernel::kunit::kunit_case_null(),
|
||||
/// pin_init::zeroed(),
|
||||
/// ];
|
||||
/// kernel::kunit_unsafe_test_suite!(suite_name, KUNIT_TEST_CASES);
|
||||
/// ```
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ pub(crate) fn kunit_tests(test_suite: Ident, mut module: ItemMod) -> Result<Toke
|
|||
// static mut TEST_CASES: [::kernel::bindings::kunit_case; 3] = [
|
||||
// ::kernel::kunit::kunit_case(c"foo", kunit_rust_wrapper_foo),
|
||||
// ::kernel::kunit::kunit_case(c"bar", kunit_rust_wrapper_bar),
|
||||
// ::kernel::kunit::kunit_case_null(),
|
||||
// ::pin_init::zeroed(),
|
||||
// ];
|
||||
//
|
||||
// ::kernel::kunit_unsafe_test_suite!(kunit_test_suit_name, TEST_CASES);
|
||||
|
|
@ -159,7 +159,7 @@ macro_rules! assert_eq {
|
|||
processed_items.push(parse_quote! {
|
||||
static mut TEST_CASES: [::kernel::bindings::kunit_case; #num_tests_plus_1] = [
|
||||
#(#test_cases,)*
|
||||
::kernel::kunit::kunit_case_null(),
|
||||
::pin_init::zeroed(),
|
||||
];
|
||||
});
|
||||
processed_items.push(parse_quote! {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user