Re: [PATCH v7 20/26] rust: error: check for config `test` in `Error::name`

Gary Guo
2024-09-28T19:30:54Z

On Thu, 12 Sep 2024 00:52:56 +0200
Danilo Krummrich <dakr@kernel.org> wrote:

> Additional to `testlib` also check for `test` in `Error::name`. This is
> required by a subsequent patch that (indirectly) uses `Error` in test
> cases.
>
> Reviewed-by: Alice Ryhl <aliceryhl@google.com>
> Reviewed-by: Benno Lossin <benno.lossin@proton.me>
> Signed-off-by: Danilo Krummrich <dakr@kernel.org>

Reviewed-by: Gary Guo <gary@garyguo.net>

> ---
> rust/kernel/error.rs | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/rust/kernel/error.rs b/rust/kernel/error.rs
> index 81b4fc5cf21e..b71fdd0f54c2 100644
> --- a/rust/kernel/error.rs
> +++ b/rust/kernel/error.rs
> @@ -143,7 +143,7 @@ pub(crate) fn to_ptr<T>(self) -> *mut T {
> }
>
> /// Returns a string representing the error, if one exists.
> - #[cfg(not(testlib))]
> + #[cfg(not(any(test, testlib)))]
> pub fn name(&self) -> Option<&'static CStr> {
> // SAFETY: Just an FFI call, there are no extra safety requirements.
> let ptr = unsafe { bindings::errname(-self.0) };
> @@ -160,7 +160,7 @@ pub fn name(&self) -> Option<&'static CStr> {
> /// When `testlib` is configured, this always returns `None` to avoid the dependency on a
> /// kernel function so that tests that use this (e.g., by calling [`Result::unwrap`]) can still
> /// run in userspace.
> - #[cfg(testlib)]
> + #[cfg(any(test, testlib))]
> pub fn name(&self) -> Option<&'static CStr> {
> None
> }