Re: [PATCH] kunit: string-stream-test: Avoid cast warning when testing gfp_t flags

From: Rae Moar
Date: Wed Nov 29 2023 - 16:19:05 EST


On Tue, Nov 21, 2023 at 11:25 AM Richard Fitzgerald
<rf@xxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Passing a gfp_t to KUNIT_EXPECT_EQ() causes a cast warning:
>
> lib/kunit/string-stream-test.c:73:9: sparse: sparse: incorrect type in
> initializer (different base types) expected long long right_value
> got restricted gfp_t const __right
>
> Avoid this by testing stream->gfp for the expected value and passing the
> boolean result of this comparison to KUNIT_EXPECT_TRUE(), as was already
> done a few lines above in string_stream_managed_init_test().
>
> Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>
> Fixes: d1a0d699bfc0 ("kunit: string-stream: Add tests for freeing resource-managed string_stream")
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Closes: https://lore.kernel.org/oe-kbuild-all/202311181918.0mpCu2Xh-lkp@xxxxxxxxx/

Hello!

This looks good to me. Thanks for fixing this!

Reviewed-by: Rae Moar <rmoar@xxxxxxxxxx>

-Rae

> ---
> lib/kunit/string-stream-test.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/kunit/string-stream-test.c b/lib/kunit/string-stream-test.c
> index 06822766f29a..03fb511826f7 100644
> --- a/lib/kunit/string-stream-test.c
> +++ b/lib/kunit/string-stream-test.c
> @@ -72,7 +72,7 @@ static void string_stream_unmanaged_init_test(struct kunit *test)
>
> KUNIT_EXPECT_EQ(test, stream->length, 0);
> KUNIT_EXPECT_TRUE(test, list_empty(&stream->fragments));
> - KUNIT_EXPECT_EQ(test, stream->gfp, GFP_KERNEL);
> + KUNIT_EXPECT_TRUE(test, (stream->gfp == GFP_KERNEL));
> KUNIT_EXPECT_FALSE(test, stream->append_newlines);
>
> KUNIT_EXPECT_TRUE(test, string_stream_is_empty(stream));
> --
> 2.30.2
>