Hi,

On Mon, May 04, 2026 at 09:41:27AM +0200, Albert Esteve wrote:
> From: Guenter Roeck <[email protected]>
> 
> The drm_test_rect_calc_hscale and drm_test_rect_calc_vscale unit tests
> intentionally trigger warning backtraces by providing bad parameters to
> the tested functions. What is tested is the return value, not the existence
> of a warning backtrace. Suppress the backtraces to avoid clogging the
> kernel log and distraction from real problems.
> 
> Tested-by: Linux Kernel Functional Testing <[email protected]>
> Acked-by: Dan Carpenter <[email protected]>
> Acked-by: MaĆ­ra Canal <[email protected]>
> Cc: Maarten Lankhorst <[email protected]>
> Cc: David Airlie <[email protected]>
> Cc: Daniel Vetter <[email protected]>
> Signed-off-by: Guenter Roeck <[email protected]>
> Signed-off-by: Alessandro Carminati <[email protected]>
> Acked-by: David Gow <[email protected]>
> Signed-off-by: Albert Esteve <[email protected]>
> ---
>  drivers/gpu/drm/tests/drm_rect_test.c | 23 +++++++++++++++++++----
>  1 file changed, 19 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/tests/drm_rect_test.c 
> b/drivers/gpu/drm/tests/drm_rect_test.c
> index 17e1f34b76101..818e16e80c8f9 100644
> --- a/drivers/gpu/drm/tests/drm_rect_test.c
> +++ b/drivers/gpu/drm/tests/drm_rect_test.c
> @@ -409,8 +409,16 @@ static void drm_test_rect_calc_hscale(struct kunit *test)
>       const struct drm_rect_scale_case *params = test->param_value;
>       int scaling_factor;
>  
> -     scaling_factor = drm_rect_calc_hscale(&params->src, &params->dst,
> -                                           params->min_range, 
> params->max_range);
> +     /*
> +      * drm_rect_calc_hscale() generates a warning backtrace whenever bad
> +      * parameters are passed to it. This affects all unit tests with an
> +      * error code in expected_scaling_factor.
> +      */
> +     kunit_warning_suppress(test) {
> +             scaling_factor = drm_rect_calc_hscale(&params->src, 
> &params->dst,
> +                                                   params->min_range,
> +                                                   params->max_range);
> +     }
>  
>       KUNIT_EXPECT_EQ(test, scaling_factor, params->expected_scaling_factor);
>  }
> @@ -420,8 +428,15 @@ static void drm_test_rect_calc_vscale(struct kunit *test)
>       const struct drm_rect_scale_case *params = test->param_value;
>       int scaling_factor;
>  
> -     scaling_factor = drm_rect_calc_vscale(&params->src, &params->dst,
> -                                           params->min_range, 
> params->max_range);
> +     /*
> +      * drm_rect_calc_vscale() generates a warning backtrace whenever bad
> +      * parameters are passed to it. This affects all unit tests with an
> +      * error code in expected_scaling_factor.
> +      */
> +     kunit_warning_suppress(test) {
> +             scaling_factor = drm_rect_calc_vscale(&params->src, 
> &params->dst,
> +                                                   params->min_range, 
> params->max_range);
> +     }
>  
>       KUNIT_EXPECT_EQ(test, scaling_factor, params->expected_scaling_factor);
>  }

For both I think we should add KUNIT_EXPECT_SUPPRESSED_WARNING_COUNT calls, no?

Maxime

Attachment: signature.asc
Description: PGP signature

Reply via email to