[igt-dev] [PATCH 3/6] tests/kms_cursor_edge_walk: Create dynamic subtests

Kamil Konieczny kamil.konieczny at linux.intel.com
Mon May 9 12:39:20 UTC 2022


Hi Bhanuprakash,

On 2022-05-09 at 12:56:34 +0530, Bhanuprakash Modem wrote:
> Covert the existing subtests to dynamic subtests at pipe level.
----^
s/Covert/Convert/

> 
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
> ---
>  tests/kms_cursor_edge_walk.c | 66 ++++++++++++++++--------------------
>  1 file changed, 30 insertions(+), 36 deletions(-)
> 
> diff --git a/tests/kms_cursor_edge_walk.c b/tests/kms_cursor_edge_walk.c
> index b775714f..01ac9790 100644
> --- a/tests/kms_cursor_edge_walk.c
> +++ b/tests/kms_cursor_edge_walk.c
> @@ -309,6 +309,17 @@ static const char *help_str =
>  
>  igt_main_args("", long_opts, help_str, opt_handler, &data)
>  {
> +	struct {
> +		const char *name;
> +		unsigned flags;

Add description field here.

> +	} tests[] = {
> +		{ "left-edge", EDGE_LEFT },

Put descriptions here.

> +		{ "right-edge", EDGE_RIGHT },
> +		{ "top-edge", EDGE_TOP },
> +		{ "top-bottom", EDGE_BOTTOM },
> +	};
> +	int i;
> +
>  	igt_fixture {
>  		int ret;
>  
> @@ -328,44 +339,27 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
>  		igt_require_pipe_crc(data.drm_fd);
>  
>  		igt_display_require(&data.display, data.drm_fd);
> +		igt_display_require_output(&data.display);
>  	}
>  
> -	for_each_pipe_static(data.pipe) {
> -		igt_subtest_group {
> -			igt_fixture {
> -				igt_display_require_output_on_pipe(&data.display, data.pipe);
> -				data.output = igt_get_single_output_for_pipe(&data.display, data.pipe);
> -			}
> -
> -			for (data.curw = 64; data.curw <= 256; data.curw *= 2) {
> -				data.curh = data.curw;
> -
> -				igt_fixture
> -					igt_require(data.curw <= max_curw && data.curh <= max_curh);
> -
> -				igt_describe("Checking cursor by walking left edge of screen");
> -				igt_subtest_f("pipe-%s-%dx%d-left-edge",
> -					kmstest_pipe_name(data.pipe),
> -					data.curw, data.curh)
> -					test_crtc(&data, EDGE_LEFT);
> -
> -				igt_describe("Checking cursor by walking right edge of screen");
> -				igt_subtest_f("pipe-%s-%dx%d-right-edge",
> -					kmstest_pipe_name(data.pipe),
> -					data.curw, data.curh)
> -					test_crtc(&data, EDGE_RIGHT);
> -
> -				igt_describe("Checking cursor by walking top edge of screen");
> -				igt_subtest_f("pipe-%s-%dx%d-top-edge",
> -					kmstest_pipe_name(data.pipe),
> -					data.curw, data.curh)
> -					test_crtc(&data, EDGE_TOP);
> -
> -				igt_describe("Checking cursor by walking bottom edge of screen");
> -				igt_subtest_f("pipe-%s-%dx%d-bottom-edge",
> -					kmstest_pipe_name(data.pipe),
> -					data.curw, data.curh)
> -					test_crtc(&data, EDGE_BOTTOM);
> +	igt_describe("Checking cursor by walking left/right/top/bottom edge of screen");
> +	igt_subtest_group {
> +		for (i = 0; i < ARRAY_SIZE(tests); i++) {

Please add description here.

Regards,
Kamil

> +			igt_subtest_with_dynamic(tests[i].name) {
> +				for_each_pipe(&data.display, data.pipe) {
> +					igt_fixture {
> +						igt_require(data.curw <= max_curw && data.curh <= max_curh);
> +						data.output = igt_get_single_output_for_pipe(&data.display, data.pipe);
> +					}
> +
> +					for (data.curw = 64; data.curw <= 256; data.curw *= 2) {
> +						data.curh = data.curw;
> +						igt_dynamic_f("pipe-%s-%dx%d",
> +							      kmstest_pipe_name(data.pipe),
> +							      data.curw, data.curh)
> +							test_crtc(&data, tests[i].flags);
> +					}
> +				}
>  			}
>  		}
>  	}
> -- 
> 2.35.1
> 


More information about the igt-dev mailing list