Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Mohammed Thasleem <mohammed.thasleem@intel.com>
Cc: igt-dev@lists.freedesktop.org
Subject: Re: [igt-dev] [PATCH i-g-t] tests/kms_properties: Create dynamic subtests
Date: Thu, 6 Oct 2022 22:56:47 +0300	[thread overview]
Message-ID: <Yz8y/zn5q05WeOsR@intel.com> (raw)
In-Reply-To: <20221006193319.230261-1-mohammed.thasleem@intel.com>

On Fri, Oct 07, 2022 at 01:03:19AM +0530, Mohammed Thasleem wrote:
> Modified kms_properties to include dynamic test cases.
> 
> v2: Fixed compilation issue.
> v3: Removed redundant code.
> v4: Moved get_prop_sanity calls to igt_subtest_group.
> v5: Replace for loop with for_each_disconnected_output.
> 
> Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com>
> ---
>  tests/kms_properties.c | 176 ++++++++++++++++++-----------------------
>  1 file changed, 77 insertions(+), 99 deletions(-)
> 
> diff --git a/tests/kms_properties.c b/tests/kms_properties.c
> index 2958efac..76ef64ab 100644
> --- a/tests/kms_properties.c
> +++ b/tests/kms_properties.c
> @@ -43,6 +43,7 @@ static void prepare_pipe(igt_display_t *display, enum pipe pipe, igt_output_t *o
>  	igt_create_pattern_fb(display->drm_fd, mode->hdisplay, mode->vdisplay,
>  			      DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, fb);
>  
> +	igt_display_reset(display);
>  	igt_output_set_pipe(output, pipe);
>  
>  	igt_plane_set_fb(igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY), fb);
> @@ -230,77 +231,52 @@ static void run_connector_property_tests(igt_display_t *display, enum pipe pipe,
>  
>  static void plane_properties(igt_display_t *display, bool atomic)
>  {
> -	bool found_any = false, found;
>  	igt_output_t *output;
>  	enum pipe pipe;
>  
> -	if (atomic)
> -		igt_skip_on(!display->is_atomic);
> -
> -	for_each_pipe(display, pipe) {
> -		found = false;
> -
> -		for_each_valid_output_on_pipe(display, pipe, output) {
> -			found_any = found = true;
> -
> +	for_each_pipe_with_single_output(display, pipe, output) {
> +		igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe),
> +			      igt_output_name(output)) {
>  			run_plane_property_tests(display, pipe, output, atomic);
> -			break;
>  		}
>  	}
> -
> -	igt_skip_on(!found_any);
>  }
>  
>  static void crtc_properties(igt_display_t *display, bool atomic)
>  {
> -	bool found_any_valid_pipe = false, found;
>  	enum pipe pipe;
>  	igt_output_t *output;
>  
> -	if (atomic)
> -		igt_skip_on(!display->is_atomic);
> -
> -	for_each_pipe(display, pipe) {
> -		found = false;
> -
> -		for_each_valid_output_on_pipe(display, pipe, output) {
> -			found_any_valid_pipe = found = true;
> -
> +	for_each_pipe_with_single_output(display, pipe, output) {
> +		igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe),
> +			      igt_output_name(output)) {
>  			run_crtc_property_tests(display, pipe, output, atomic);
> -			break;
>  		}
>  	}
> -
> -	igt_skip_on(!found_any_valid_pipe);
>  }
>  
>  static void connector_properties(igt_display_t *display, bool atomic)
>  {
> -	int i;
>  	enum pipe pipe;
>  	igt_output_t *output;
>  
> -	if (atomic)
> -		igt_skip_on(!display->is_atomic);
> -
>  	for_each_connected_output(display, output) {
> -		bool found = false;
>  
>  		for_each_pipe(display, pipe) {
>  			if (!igt_pipe_connector_valid(pipe, output))
>  				continue;
>  
> -			found = true;
> -			run_connector_property_tests(display, pipe, output, atomic);
> -			break;
> +			igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe),
> +				      igt_output_name(output)) {
> +				run_connector_property_tests(display, pipe, output, atomic);
> +			}
>  		}
> +		break;
>  
> -		igt_assert_f(found, "Connected output should have at least 1 valid crtc\n");
>  	}
>  
> -	for (i = 0; i < display->n_outputs; i++)
> -		if (!igt_output_is_connected(&display->outputs[i]))
> -			run_connector_property_tests(display, PIPE_NONE, &display->outputs[i], atomic);
> +	for_each_disconnected_output(display, output)

Nothing to do with the subject of this patch.

> +		run_connector_property_tests(display, PIPE_NONE, output, atomic);
>  }
>  
>  static void test_invalid_properties(int fd,
> @@ -368,7 +344,6 @@ static void test_object_invalid_properties(igt_display_t *display,
>  	igt_output_t *output;
>  	igt_plane_t *plane;
>  	enum pipe pipe;
> -	int i;
>  
>  	for_each_pipe(display, pipe)
>  		test_invalid_properties(display->drm_fd, id, type, display->pipes[pipe].crtc_id, DRM_MODE_OBJECT_CRTC, atomic);
> @@ -377,7 +352,7 @@ static void test_object_invalid_properties(igt_display_t *display,
>  		for_each_plane_on_pipe(display, pipe, plane)
>  			test_invalid_properties(display->drm_fd, id, type, plane->drm_plane->plane_id, DRM_MODE_OBJECT_PLANE, atomic);
>  
> -	for (i = 0, output = &display->outputs[0]; i < display->n_outputs; output = &display->outputs[++i])
> +	for_each_connected_output(display, output)

Those two things are not at all the same.

There are clearly multiple patches hiding inside this single mega
patch of yours. Please split it up properly.

-- 
Ville Syrjälä
Intel

  reply	other threads:[~2022-10-06 19:56 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-18 17:29 [igt-dev] [PATCH i-g-t] tests/kms_properties: Create dynamic subtests Mohammed Thasleem
2022-09-18 17:50 ` [igt-dev] ✗ GitLab.Pipeline: warning for " Patchwork
2022-09-18 18:07 ` [igt-dev] ✗ Fi.CI.BAT: failure " Patchwork
2022-09-19 21:12 ` [igt-dev] [PATCH i-g-t] " Mohammed Thasleem
2022-09-22 14:11   ` Mohammed Thasleem
2022-09-28 13:37     ` Mohammed Thasleem
2022-09-29 14:26       ` Modem, Bhanuprakash
2022-09-30  8:37         ` Petri Latvala
2022-09-30  8:51           ` Modem, Bhanuprakash
2022-09-30 10:04             ` Petri Latvala
2022-10-06 19:33       ` Mohammed Thasleem
2022-10-06 19:56         ` Ville Syrjälä [this message]
2022-10-12 15:44           ` Thasleem, Mohammed
2022-09-19 21:55 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_properties: Create dynamic subtests (rev2) Patchwork
2022-09-20  4:48 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2022-09-22 21:18 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_properties: Create dynamic subtests (rev3) Patchwork
2022-09-23  2:52 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2022-09-28 14:32 ` [igt-dev] ✗ Fi.CI.BAT: failure for tests/kms_properties: Create dynamic subtests (rev4) Patchwork
2022-09-28 17:28 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
2022-09-29  8:01 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2022-09-29 13:27 ` Patchwork
2022-10-06 20:21 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_properties: Create dynamic subtests (rev5) Patchwork
2022-10-07  6:48 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

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=Yz8y/zn5q05WeOsR@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=mohammed.thasleem@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