[Intel-gfx] [PATCH i-g-t v2 4/9] tests/kms_plane_scaling: Convert from simple test to full test

Mika Kahola mika.kahola at intel.com
Mon Jan 15 09:10:22 UTC 2018


On Fri, 2018-01-12 at 11:21 +0100, Maarten Lankhorst wrote:
> Convert the test to run subtests per pipe, before we start adding
> more subtests.
> 

Reviewed-by: Mika Kahola <mika.kahola at intel.com>

> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> ---
>  tests/kms_plane_scaling.c | 46 +++++++++++++++++++++--------------
> -----------
>  1 file changed, 21 insertions(+), 25 deletions(-)
> 
> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
> index 5487f89e5149..624e20447780 100644
> --- a/tests/kms_plane_scaling.c
> +++ b/tests/kms_plane_scaling.c
> @@ -170,6 +170,9 @@ test_plane_scaling_on_pipe(data_t *d, enum pipe
> pipe, igt_output_t *output)
>  	drmModeModeInfo *mode;
>  	int primary_plane_scaling = 0; /* For now */
>  
> +	igt_require(d->num_scalers > 0);
> +
> +	igt_display_reset(display);
>  	igt_output_set_pipe(output, pipe);
>  	mode = igt_output_get_mode(output);
>  
> @@ -296,39 +299,32 @@ cleanup:
>  	cleanup_crtc(d, output, d->plane1);
>  }
>  
> -static void test_plane_scaling(data_t *d, enum pipe pipe)
> -{
> -	igt_output_t *output;
> -	int valid_tests = 0;
> -
> -	igt_require(d->num_scalers);
> -
> -	for_each_valid_output_on_pipe(&d->display, pipe, output) {
> -		test_plane_scaling_on_pipe(d, pipe, output);
> -		igt_output_set_pipe(output, PIPE_ANY);
> -		valid_tests++;
> -	}
> -
> -	igt_require_f(valid_tests, "no valid crtc/connector
> combinations found\n");
> -}
> -
> -igt_simple_main
> +igt_main
>  {
>  	data_t data = {};
>  	enum pipe pipe;
>  
>  	igt_skip_on_simulation();
>  
> +	igt_fixture {
> +		data.drm_fd = drm_open_driver(DRIVER_INTEL);
> +		igt_require_pipe_crc(data.drm_fd);
> +		igt_display_init(&data.display, data.drm_fd);
> +		data.devid = intel_get_drm_devid(data.drm_fd);
> +		data.num_scalers = intel_gen(data.devid) >= 9 ? 2 :
> 0;
> +	}
>  
> -	data.drm_fd = drm_open_driver(DRIVER_INTEL);
> -	igt_require_pipe_crc(data.drm_fd);
> -	igt_display_init(&data.display, data.drm_fd);
> -	data.devid = intel_get_drm_devid(data.drm_fd);
> +	for_each_pipe_static(pipe) igt_subtest_group {
> +		igt_output_t *output;
>  
> -	data.num_scalers = intel_gen(data.devid) >= 9 ? 2 : 0;
> +		igt_fixture
> +			igt_display_require_output_on_pipe(&data.dis
> play, pipe);
>  
> -	for_each_pipe_static(pipe)
> -		test_plane_scaling(&data, pipe);
> +		igt_subtest_f("pipe-%s-plane-scaling",
> kmstest_pipe_name(pipe))
> +			for_each_valid_output_on_pipe(&data.display,
> pipe, output)
> +				test_plane_scaling_on_pipe(&data,
> pipe, output);
> +	}
>  
> -	igt_display_fini(&data.display);
> +	igt_fixture
> +		igt_display_fini(&data.display);
>  }
-- 
Mika Kahola - Intel OTC



More information about the Intel-gfx mailing list