[igt-dev] [PATCH i-g-t v2 1/2] tests/kms_universal_plane:Convert tests to dynamic

Modem, Bhanuprakash bhanuprakash.modem at intel.com
Wed May 25 06:26:11 UTC 2022


On Tue-24-05-2022 05:37 pm, Ananya Sharma wrote:
> Modified kms_universal_plane to include dynamic test cases.
> 
> Signed-off-by: Ananya Sharma <ananya.sharma at intel.com>
> ---
>   tests/kms_universal_plane.c | 40 +++++++++++++++++++++++--------------
>   1 file changed, 25 insertions(+), 15 deletions(-)
> 
> diff --git a/tests/kms_universal_plane.c b/tests/kms_universal_plane.c
> index 3cb6d704..2bc722d2 100644
> --- a/tests/kms_universal_plane.c
> +++ b/tests/kms_universal_plane.c
> @@ -762,35 +762,45 @@ run_tests_for_pipe(data_t *data, enum pipe pipe)
>   	}
>   
>   	igt_describe("Check the switching between different primary plane fbs with CRTC off");
> -	igt_subtest_f("universal-plane-pipe-%s-functional",
> -		      kmstest_pipe_name(pipe))
> +	igt_subtest_with_dynamic_f("universal-plane-pipe-%s-functional",
> +		      kmstest_pipe_name(pipe)){
>   		for_each_valid_output_on_pipe(&data->display, pipe, output)
> -			functional_test_pipe(data, pipe, output);
> +			igt_dynamic_f("%s", igt_output_name(output))
> +				functional_test_pipe(data, pipe, output);
> +	}

Still, there is no difference in test list.

universal-plane-pipe-A-functional
universal-plane-pipe-B-functional
universal-plane-pipe-C-functional
universal-plane-pipe-D-functional
universal-plane-pipe-E-functional
universal-plane-pipe-F-functional

Please try with below template:

igt_subtest_with_dynamic("test_name") {
	for_each_pipe_with_valid_output() {
		igt_dynamic(<pipe name>-<output name>) {
			<do your stuff>;
		}
	}
}

Note: this comment is applicable for all the places.

- Bhanu

>   
>   	igt_describe("Test for scale-up or scale-down using universal plane API without covering CRTC");
> -	igt_subtest_f("universal-plane-pipe-%s-sanity",
> -		      kmstest_pipe_name(pipe))
> +	igt_subtest_with_dynamic_f("universal-plane-pipe-%s-sanity",
> +		      kmstest_pipe_name(pipe)){
>   		for_each_valid_output_on_pipe(&data->display, pipe, output)
> -			sanity_test_pipe(data, pipe, output);
> +			igt_dynamic_f("%s" ,igt_output_name(output))
> +				sanity_test_pipe(data, pipe, output);
> +	}
>   
>   	igt_describe("Check pageflips while primary plane is disabled before IOCTL or between IOCTL"
>   			" and pageflip execution");
> -	igt_subtest_f("disable-primary-vs-flip-pipe-%s",
> -		      kmstest_pipe_name(pipe))
> +	igt_subtest_with_dynamic_f("disable-primary-vs-flip-pipe-%s",
> +		      kmstest_pipe_name(pipe)){
>   		for_each_valid_output_on_pipe(&data->display, pipe, output)
> -			pageflip_test_pipe(data, pipe, output);
> +			igt_dynamic_f("%s", igt_output_name(output))
> +				pageflip_test_pipe(data, pipe, output);
> +	}
>   
>   	igt_describe("Check for cursor leaks after performing cursor operations");
> -	igt_subtest_f("cursor-fb-leak-pipe-%s",
> -		      kmstest_pipe_name(pipe))
> +	igt_subtest_with_dynamic_f("cursor-fb-leak-pipe-%s",
> +		      kmstest_pipe_name(pipe)){
>   		for_each_valid_output_on_pipe(&data->display, pipe, output)
> -			cursor_leak_test_pipe(data, pipe, output);
> +			igt_dynamic_f("%s", igt_output_name(output))
> +				cursor_leak_test_pipe(data, pipe, output);
> +	}
>   
>   	igt_describe("Check if pageflip succeeds in windowed setting");
> -	igt_subtest_f("universal-plane-gen9-features-pipe-%s",
> -		      kmstest_pipe_name(pipe))
> +	igt_subtest_with_dynamic_f("universal-plane-gen9-features-pipe-%s",
> +		      kmstest_pipe_name(pipe)){
>   		for_each_valid_output_on_pipe(&data->display, pipe, output)
> -			gen9_test_pipe(data, pipe, output);
> +			igt_dynamic_f("%s", igt_output_name(output))
> +				gen9_test_pipe(data, pipe, output);
> +	}
>   }
>   
>   static data_t data;



More information about the igt-dev mailing list