[igt-dev] [PATCH i-g-t v5] Added dynamic Subtest

Karthik B S karthik.b.s at intel.com
Fri Dec 11 09:48:00 UTC 2020


On 11/24/2020 3:11 PM, nidhi1.gupta at intel.com wrote:
> From: Nidhi Gupta <nidhi1.gupta at intel.com>
>
> In kms_atomic_transition subtest will test all the
> pipes defined in IGT which is 6 weather the output

Typo. 'weather'.

Also, please quote IGT_MAX_PIPES instead of quoting it as '6'.

> is available or not.Later it has to be analysed and
> discard it as valid skip.To save this time updated
> in test to first check the available outputs and
> then execute the test.
>
> Signed-off-by: Nidhi Gupta <nidhi1.gupta at intel.com>
> ---
>   tests/kms_atomic_transition.c | 25 +++++++++++++++----------
>   1 file changed, 15 insertions(+), 10 deletions(-)
>
> diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
> index a71bbe10..8d5739df 100644
> --- a/tests/kms_atomic_transition.c
> +++ b/tests/kms_atomic_transition.c
> @@ -918,7 +918,7 @@ igt_main
>   	igt_display_t display;
>   	igt_output_t *output;
>   	enum pipe pipe;
> -	int i;
> +	int i, count = 0;
>   
>   	igt_fixture {
>   		display.drm_fd = drm_open_driver_master(DRIVER_ANY);
> @@ -1024,18 +1024,23 @@ igt_main
>   		for_each_pipe_with_valid_output(&display, pipe, output)
>   			run_transition_test(&display, pipe, output, TRANSITION_MODESET_DISABLE, false, false);
>   
> -	for (i = 1; i <= IGT_MAX_PIPES; i++) {
> -		igt_subtest_f("%ix-modeset-transitions", i)
> -			run_modeset_transition(&display, i, false, false);
> +	igt_subtest_with_dynamic("modeset-transitions") {
> +		for_each_pipe_with_single_output(&display, pipe, output) {

This will still list subtests until 4x- even if only one output is 
connected, and not serve the required purpose.

Please use 'for_each_connected_output' instead.

> +			count++;
> +		}

You can remove these braces as we've just one line.

Thanks,

Karthik.B.S

> +		for (i = 1; i <= count; i++) {
> +			igt_dynamic_f("%ix-modeset-transitions", i)
> +				run_modeset_transition(&display, i, false, false);
>   
> -		igt_subtest_f("%ix-modeset-transitions-nonblocking", i)
> -			run_modeset_transition(&display, i, true, false);
> +			igt_dynamic_f("%ix-modeset-transitions-nonblocking", i)
> +				run_modeset_transition(&display, i, true, false);
>   
> -		igt_subtest_f("%ix-modeset-transitions-fencing", i)
> -			run_modeset_transition(&display, i, false, true);
> +			igt_dynamic_f("%ix-modeset-transitions-fencing", i)
> +				run_modeset_transition(&display, i, false, true);
>   
> -		igt_subtest_f("%ix-modeset-transitions-nonblocking-fencing", i)
> -			run_modeset_transition(&display, i, true, true);
> +			igt_dynamic_f("%ix-modeset-transitions-nonblocking-fencing", i)
> +				run_modeset_transition(&display, i, true, true);
> +		}
>   	}
>   
>   	igt_fixture {




More information about the igt-dev mailing list