[PATCH 2/4] drm/tests: Add test for drm_framebuffer_check_src_coords()

Maxime Ripard mripard at kernel.org
Mon Jul 17 08:45:55 UTC 2023


Hi,

On Fri, Jul 14, 2023 at 03:06:17PM -0300, Carlos Eduardo Gallo Filho wrote:
> Add a parametrized test for the drm_framebuffer_check_src_coords function.
> 
> Signed-off-by: Carlos Eduardo Gallo Filho <gcarlos at disroot.org>
> ---
>  drivers/gpu/drm/tests/drm_framebuffer_test.c | 107 +++++++++++++++++++
>  1 file changed, 107 insertions(+)
> 
> diff --git a/drivers/gpu/drm/tests/drm_framebuffer_test.c b/drivers/gpu/drm/tests/drm_framebuffer_test.c
> index f759d9f3b76e..175146f7ac9e 100644
> --- a/drivers/gpu/drm/tests/drm_framebuffer_test.c
> +++ b/drivers/gpu/drm/tests/drm_framebuffer_test.c
> @@ -9,6 +9,7 @@
>  
>  #include <drm/drm_device.h>
>  #include <drm/drm_mode.h>
> +#include <drm/drm_framebuffer.h>
>  #include <drm/drm_fourcc.h>
>  #include <drm/drm_print.h>
>  
> @@ -366,8 +367,114 @@ static void drm_framebuffer_test_to_desc(const struct drm_framebuffer_test *t, c
>  KUNIT_ARRAY_PARAM(drm_framebuffer_create, drm_framebuffer_create_cases,
>  		  drm_framebuffer_test_to_desc);
>  
> +struct check_src_coords_case {
> +	const int expect;
> +	const uint32_t src_x;
> +	const uint32_t src_y;
> +	const uint32_t src_w;
> +	const uint32_t src_h;
> +	const struct drm_framebuffer fb;
> +	const char *name;
> +};
> +
> +static const struct check_src_coords_case check_src_coords_cases[] = {
> +	{ .name = "source inside framebuffer",
> +	  .expect = 0,
> +	  .src_x = 500 << 16, .src_y = 700 << 16,
> +	  .src_w = 100 << 16, .src_h = 100 << 16,
> +	  .fb = { .width = 600, .height = 800 }
> +	},

Generally speaking, a small comment explaining what the test is doing
and what is the expected result is would be nice. A couple of
months/years down the line, obvious tests might not be so obvious
anymore.

...
> +static void check_src_coords_test_to_desc(const struct check_src_coords_case *t,
> +					  char *desc)
> +{
> +	strcpy(desc, t->name);
> +}

strscpy

> +KUNIT_ARRAY_PARAM(check_src_coords, check_src_coords_cases,
> +		  check_src_coords_test_to_desc);
> +
>  static struct kunit_case drm_framebuffer_tests[] = {
>  	KUNIT_CASE_PARAM(drm_test_framebuffer_create, drm_framebuffer_create_gen_params),
> +	KUNIT_CASE_PARAM(drm_test_framebuffer_check_src_coords, check_src_coords_gen_params),

I'd prefer to keep them ordered alphabetically.

Thanks!
Maxime
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20230717/111b50a0/attachment.sig>


More information about the dri-devel mailing list