Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Modem, Bhanuprakash" <bhanuprakash.modem@intel.com>
To: Swati Sharma <swati2.sharma@intel.com>, <igt-dev@lists.freedesktop.org>
Subject: Re: [igt-dev] [PATCH i-g-t] tests/kms_concurrent: remove pipe dependency in subtest name
Date: Tue, 26 Sep 2023 22:03:45 +0530	[thread overview]
Message-ID: <edbd4362-03ef-e9b5-0036-9e02131c3782@intel.com> (raw)
In-Reply-To: <20230918143754.263696-1-swati2.sharma@intel.com>

Hi Swati,

On Mon-18-09-2023 08:07 pm, Swati Sharma wrote:
> Remove pipe dependency in subtest name and give some
> meaningful name to subtest. >
> Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
> ---
>   tests/kms_concurrent.c | 39 ++++++++++++---------------------------
>   1 file changed, 12 insertions(+), 27 deletions(-)
> 
> diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c
> index d9cb197de..e38ee0a4d 100644
> --- a/tests/kms_concurrent.c
> +++ b/tests/kms_concurrent.c
> @@ -30,24 +30,13 @@
>    * Description: Test atomic mode setting concurrently with multiple planes and
>    *              screen resolution
>    *
> - * SUBTEST: pipe-%s
> + * SUBTEST: multi-plane-atomic-resolution
>    * Description: Test atomic mode setting concurrently with multiple planes and
> - *              screen resolution on %arg[1].
> + *              screen resolution.
>    * Driver requirement: i915, xe
>    * Functionality: kms_core
>    * Mega feature: General Display Features
>    * Test category: functionality test
> - *
> - * arg[1]:
> - *
> - * @A:      pipe A
> - * @B:      pipe B
> - * @C:      pipe C
> - * @D:      pipe D
> - * @E:      pipe E
> - * @F:      pipe F
> - * @G:      pipe G
> - * @H:      pipe H
>    */
>   
>   IGT_TEST_DESCRIPTION("Test atomic mode setting concurrently with multiple planes and screen resolution");
> @@ -61,6 +50,7 @@ typedef struct {
>   	igt_display_t display;
>   	igt_plane_t **plane;
>   	struct igt_fb *fb;
> +	enum pipe pipe;

Why do we need this change, since you are passing the pipe as an arg in 
each function call just like a output?

>   } data_t;
>   
>   /* Command line parameters. */
> @@ -341,30 +331,30 @@ run_test(data_t *data, enum pipe pipe, igt_output_t *output)
>   }
>   
>   static void
> -run_tests_for_pipe(data_t *data, enum pipe pipe)
> +run_tests_for_pipe(data_t *data)
>   {
>   	igt_output_t *output;
>   
>   	igt_fixture {
> -		igt_require_pipe(&data->display, pipe);
> -		igt_require(data->display.pipes[pipe].n_planes > 0);
> +		igt_require_pipe(&data->display, data->pipe);

This is redundant, for_each_pipe_with_single_output() guarantees atleast 
one valid pipe.

> +		igt_require(data->display.pipes[data->pipe].n_planes > 0);
------------------------------------------------^
pipe is not initialized. Please move this check inside 
for_each_pipe_with_single_output() if it is really required.

>   
>   		igt_display_require_output(&data->display);

Please move this to igt_fixture inside the igt_main

>   	}
>   
>   	igt_describe("Test atomic mode setting concurrently with multiple planes and screen "
>   		     "resolution.");
> -	igt_subtest_with_dynamic_f("pipe-%s", kmstest_pipe_name(pipe)) {
> -		for_each_valid_output_on_pipe(&data->display, pipe, output) {
> +	igt_subtest_with_dynamic("multi-plane-atomic-resolution") {
> +		for_each_pipe_with_single_output(&data->display, data->pipe, output) {

Are we not loosing any coverage, as we are limiting the execution to 
single output?

- Bhanu

>   			igt_display_reset(&data->display);
>   
> -			igt_output_set_pipe(output, pipe);
> +			igt_output_set_pipe(output, data->pipe);
>   			if (!i915_pipe_output_combo_valid(&data->display))
>   				continue;
>   
>   			igt_output_set_pipe(output, PIPE_NONE);
> -			igt_dynamic_f("%s", igt_output_name(output))
> -				run_test(data, pipe, output);
> +			igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data->pipe), igt_output_name(output))
> +				run_test(data, data->pipe, output);
>   		}
>   	}
>   }
> @@ -405,8 +395,6 @@ static data_t data;
>   
>   igt_main_args("", long_options, help_str, opt_handler, NULL)
>   {
> -	enum pipe pipe;
> -
>   	igt_fixture {
>   		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
>   		kmstest_set_vt_graphics_mode();
> @@ -416,10 +404,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
>   			intel_allocator_multiprocess_start();
>   	}
>   
> -	for_each_pipe_static(pipe) {
> -		igt_subtest_group
> -			run_tests_for_pipe(&data, pipe);
> -	}
> +	run_tests_for_pipe(&data);
>   
>   	igt_fixture {
>   		if (is_intel_device(data.drm_fd))

      parent reply	other threads:[~2023-09-26 16:34 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-18 14:37 [igt-dev] [PATCH i-g-t] tests/kms_concurrent: remove pipe dependency in subtest name Swati Sharma
2023-09-18 21:07 ` [igt-dev] ✗ Fi.CI.BAT: failure for " Patchwork
2023-09-18 22:14 ` [igt-dev] ✓ CI.xeBAT: success " Patchwork
2023-09-21  6:57 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2023-09-21  7:29 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
2023-09-21 17:38 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2023-09-22 14:58 ` [igt-dev] ✓ Fi.CI.IGT: success " Patchwork
2023-09-26 16:33 ` Modem, Bhanuprakash [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=edbd4362-03ef-e9b5-0036-9e02131c3782@intel.com \
    --to=bhanuprakash.modem@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=swati2.sharma@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox