All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH v2 0/2] tests/kms_rmfb: IGT test cleanup
@ 2022-06-27 18:00 Mohammed Thasleem
  2022-06-27 18:00 ` [igt-dev] [PATCH v2 1/2] tests/kms_rmfb: Create dynamic subtests Mohammed Thasleem
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Mohammed Thasleem @ 2022-06-27 18:00 UTC (permalink / raw)
  To: igt-dev, kamil.konieczny; +Cc: nidhi1.gupta

Convert all possible subtests to dynamic and sanitize the system
state before starting/exiting the subtest.

Mohammed Thasleem (2):
  tests/kms_rmfb: Create dynamic subtests
  tests/kms_rmfb: Test Cleanup

 tests/kms_rmfb.c | 45 ++++++++++++++++++++++++++++++++++-----------
 1 file changed, 34 insertions(+), 11 deletions(-)

-- 
2.25.1

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [igt-dev] [PATCH v2 1/2] tests/kms_rmfb: Create dynamic subtests
  2022-06-27 18:00 [igt-dev] [PATCH v2 0/2] tests/kms_rmfb: IGT test cleanup Mohammed Thasleem
@ 2022-06-27 18:00 ` Mohammed Thasleem
  2022-06-28  6:46   ` Kamil Konieczny
  2022-06-27 18:00 ` [igt-dev] [PATCH v2 2/2] tests/kms_rmfb: Test Cleanup Mohammed Thasleem
  2022-06-27 23:20 ` [igt-dev] ✗ Fi.CI.BAT: failure for tests/kms_rmfb: IGT test cleanup (rev3) Patchwork
  2 siblings, 1 reply; 8+ messages in thread
From: Mohammed Thasleem @ 2022-06-27 18:00 UTC (permalink / raw)
  To: igt-dev, kamil.konieczny; +Cc: nidhi1.gupta

Modified kms_rmfb to include dynamic test cases.

v2: addressed indentation, test description moved into struct
    and added global description to test.
v3: minor changes.

Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com>
---
 tests/kms_rmfb.c | 37 +++++++++++++++++++++++++++----------
 1 file changed, 27 insertions(+), 10 deletions(-)

diff --git a/tests/kms_rmfb.c b/tests/kms_rmfb.c
index fcd5cdad..89f7c80c 100644
--- a/tests/kms_rmfb.c
+++ b/tests/kms_rmfb.c
@@ -36,6 +36,9 @@
 #define DRM_CAP_CURSOR_HEIGHT 0x9
 #endif
 
+IGT_TEST_DESCRIPTION("This tests rmfb and close-fd behavior. In these cases"
+		     "the framebuffers should be removed from the crtc.");
+
 struct rmfb_data {
 	int drm_fd;
 	igt_display_t display;
@@ -151,13 +154,28 @@ run_rmfb_test(struct rmfb_data *data, bool reopen)
 	igt_output_t *output;
 	enum pipe pipe;
 
-	for_each_pipe_with_single_output(&data->display, pipe, output)
-		test_rmfb(data, output, pipe, reopen);
+	for_each_pipe_with_single_output(&data->display, pipe, output) {
+		igt_dynamic_f("%s-pipe-%s", igt_output_name(output),
+			      kmstest_pipe_name(pipe))
+			test_rmfb(data, output, pipe, reopen);
+	}
 }
 
 igt_main
 {
+	const struct {
+		bool flags;
+		const char *name;
+		const char *description;
+	} tests[] = {
+		{ false, "rmfb-ioctl", "RMFB is supposed to free the framebuffers from any and all "
+				       "planes so test this and make sure it works."},
+		{ true, "close-fd", "RMFB is supposed to free the framebuffers from any and all "
+				    "planes so test this and make sure it works with fd close "
+				    "and reopen."},
+	};
 	struct rmfb_data data = {};
+	int i;
 
 	igt_fixture {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
@@ -168,15 +186,14 @@ igt_main
 		igt_display_require_output(&data.display);
 	}
 
-	igt_describe("RMFB is supposed to free the framebuffers from any and all "
-		     "planes so test this and make sure it works.");
-	igt_subtest_f("rmfb-ioctl")
-		run_rmfb_test(&data, false);
+	for (i = 0; i < ARRAY_SIZE(tests); i++) {
+
+		igt_describe(tests[i].description);
+		igt_subtest_with_dynamic(tests[i].name) {
+			run_rmfb_test(&data, tests[i].flags);
 
-	igt_describe("RMFB is supposed to free the framebuffers from any and all planes "
-		     "so test this and make sure it works with fd close and reopen.");
-	igt_subtest_f("close-fd")
-		run_rmfb_test(&data, true);
+		}
+	}
 
 	igt_fixture {
 		igt_display_fini(&data.display);
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [igt-dev] [PATCH v2 2/2] tests/kms_rmfb: Test Cleanup
  2022-06-27 18:00 [igt-dev] [PATCH v2 0/2] tests/kms_rmfb: IGT test cleanup Mohammed Thasleem
  2022-06-27 18:00 ` [igt-dev] [PATCH v2 1/2] tests/kms_rmfb: Create dynamic subtests Mohammed Thasleem
@ 2022-06-27 18:00 ` Mohammed Thasleem
  2022-06-27 23:20 ` [igt-dev] ✗ Fi.CI.BAT: failure for tests/kms_rmfb: IGT test cleanup (rev3) Patchwork
  2 siblings, 0 replies; 8+ messages in thread
From: Mohammed Thasleem @ 2022-06-27 18:00 UTC (permalink / raw)
  To: igt-dev, kamil.konieczny; +Cc: nidhi1.gupta

Sanitize the system state before starting the subtest.

Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com>
---
 tests/kms_rmfb.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/tests/kms_rmfb.c b/tests/kms_rmfb.c
index 89f7c80c..008ce0b2 100644
--- a/tests/kms_rmfb.c
+++ b/tests/kms_rmfb.c
@@ -57,12 +57,14 @@ static void
 test_rmfb(struct rmfb_data *data, igt_output_t *output, enum pipe pipe, bool reopen)
 {
 	struct igt_fb fb, argb_fb;
+	igt_display_t *display = &data->display;
 	drmModeModeInfo *mode;
 	igt_plane_t *plane;
 	drmModeCrtc *crtc;
 	uint64_t cursor_width, cursor_height;
 	int num_active_planes = 0;
 
+	igt_display_reset(display);
 	igt_output_set_pipe(output, pipe);
 
 	mode = igt_output_get_mode(output);
@@ -145,7 +147,7 @@ test_rmfb(struct rmfb_data *data, igt_output_t *output, enum pipe pipe, bool reo
 		drmModeFreePlane(planeres);
 	}
 
-	igt_output_set_pipe(output, PIPE_ANY);
+	igt_output_set_pipe(output, PIPE_NONE);
 }
 
 static void
@@ -184,6 +186,9 @@ igt_main
 
 		igt_display_require(&data.display, data.drm_fd);
 		igt_display_require_output(&data.display);
+		igt_display_reset(&data.display);
+		igt_display_commit2(&data.display, data.display.is_atomic ?
+				    COMMIT_ATOMIC : COMMIT_LEGACY);
 	}
 
 	for (i = 0; i < ARRAY_SIZE(tests); i++) {
@@ -197,5 +202,6 @@ igt_main
 
 	igt_fixture {
 		igt_display_fini(&data.display);
+		close(data.drm_fd);
 	}
 }
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [igt-dev] ✗ Fi.CI.BAT: failure for tests/kms_rmfb: IGT test cleanup (rev3)
  2022-06-27 18:00 [igt-dev] [PATCH v2 0/2] tests/kms_rmfb: IGT test cleanup Mohammed Thasleem
  2022-06-27 18:00 ` [igt-dev] [PATCH v2 1/2] tests/kms_rmfb: Create dynamic subtests Mohammed Thasleem
  2022-06-27 18:00 ` [igt-dev] [PATCH v2 2/2] tests/kms_rmfb: Test Cleanup Mohammed Thasleem
@ 2022-06-27 23:20 ` Patchwork
  2 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2022-06-27 23:20 UTC (permalink / raw)
  To: Mohammed Thasleem; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 7801 bytes --]

== Series Details ==

Series: tests/kms_rmfb: IGT test cleanup (rev3)
URL   : https://patchwork.freedesktop.org/series/105149/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_11815 -> IGTPW_7402
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_7402 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_7402, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7402/index.html

Participating hosts (40 -> 41)
------------------------------

  Additional (3): bat-adln-1 fi-icl-u2 bat-dg2-9 
  Missing    (2): fi-bxt-dsi fi-bdw-samus 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_7402:

### IGT changes ###

#### Possible regressions ####

  * igt@gem_exec_parallel@engines@fds:
    - fi-bsw-kefka:       [PASS][1] -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11815/fi-bsw-kefka/igt@gem_exec_parallel@engines@fds.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7402/fi-bsw-kefka/igt@gem_exec_parallel@engines@fds.html

  
Known issues
------------

  Here are the changes found in IGTPW_7402 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_huc_copy@huc-copy:
    - fi-icl-u2:          NOTRUN -> [SKIP][3] ([i915#2190])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7402/fi-icl-u2/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@random-engines:
    - fi-icl-u2:          NOTRUN -> [SKIP][4] ([i915#4613]) +3 similar issues
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7402/fi-icl-u2/igt@gem_lmem_swapping@random-engines.html

  * igt@i915_suspend@basic-s3-without-i915:
    - fi-icl-u2:          NOTRUN -> [SKIP][5] ([i915#5903])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7402/fi-icl-u2/igt@i915_suspend@basic-s3-without-i915.html

  * igt@kms_busy@basic@modeset:
    - bat-adlp-4:         [PASS][6] -> [DMESG-WARN][7] ([i915#3576]) +1 similar issue
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11815/bat-adlp-4/igt@kms_busy@basic@modeset.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7402/bat-adlp-4/igt@kms_busy@basic@modeset.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-icl-u2:          NOTRUN -> [SKIP][8] ([fdo#111827]) +8 similar issues
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7402/fi-icl-u2/igt@kms_chamelium@hdmi-hpd-fast.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor:
    - fi-icl-u2:          NOTRUN -> [SKIP][9] ([i915#4103])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7402/fi-icl-u2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html

  * igt@kms_flip@basic-flip-vs-dpms@a-edp1:
    - fi-tgl-u2:          [PASS][10] -> [DMESG-WARN][11] ([i915#402])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11815/fi-tgl-u2/igt@kms_flip@basic-flip-vs-dpms@a-edp1.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7402/fi-tgl-u2/igt@kms_flip@basic-flip-vs-dpms@a-edp1.html

  * igt@kms_force_connector_basic@force-connector-state:
    - fi-icl-u2:          NOTRUN -> [WARN][12] ([i915#6008])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7402/fi-icl-u2/igt@kms_force_connector_basic@force-connector-state.html

  * igt@kms_force_connector_basic@force-load-detect:
    - fi-icl-u2:          NOTRUN -> [SKIP][13] ([fdo#109285])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7402/fi-icl-u2/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - fi-icl-u2:          NOTRUN -> [SKIP][14] ([i915#3555])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7402/fi-icl-u2/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-userptr:
    - fi-icl-u2:          NOTRUN -> [SKIP][15] ([fdo#109295] / [i915#3301])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7402/fi-icl-u2/igt@prime_vgem@basic-userptr.html
    - fi-tgl-u2:          NOTRUN -> [SKIP][16] ([fdo#109295] / [i915#3301])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7402/fi-tgl-u2/igt@prime_vgem@basic-userptr.html

  * igt@runner@aborted:
    - fi-bsw-kefka:       NOTRUN -> [FAIL][17] ([i915#4312])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7402/fi-bsw-kefka/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@kms_flip@basic-flip-vs-modeset@b-edp1:
    - {bat-adlp-6}:       [DMESG-WARN][18] ([i915#3576]) -> [PASS][19] +1 similar issue
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11815/bat-adlp-6/igt@kms_flip@basic-flip-vs-modeset@b-edp1.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7402/bat-adlp-6/igt@kms_flip@basic-flip-vs-modeset@b-edp1.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3576]: https://gitlab.freedesktop.org/drm/intel/issues/3576
  [i915#3595]: https://gitlab.freedesktop.org/drm/intel/issues/3595
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4873]: https://gitlab.freedesktop.org/drm/intel/issues/4873
  [i915#5174]: https://gitlab.freedesktop.org/drm/intel/issues/5174
  [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
  [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274
  [i915#5763]: https://gitlab.freedesktop.org/drm/intel/issues/5763
  [i915#5903]: https://gitlab.freedesktop.org/drm/intel/issues/5903
  [i915#6008]: https://gitlab.freedesktop.org/drm/intel/issues/6008
  [i915#6299]: https://gitlab.freedesktop.org/drm/intel/issues/6299


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_6543 -> IGTPW_7402

  CI-20190529: 20190529
  CI_DRM_11815: 500f24fcd69dcbfbbf2e602dbb7313efb955e96a @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_7402: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7402/index.html
  IGT_6543: 0463b607ed58ceede542f9bad6a9dad8d77d6f9c @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7402/index.html

[-- Attachment #2: Type: text/html, Size: 7693 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [igt-dev] [PATCH v2 1/2] tests/kms_rmfb: Create dynamic subtests
  2022-06-27 18:00 ` [igt-dev] [PATCH v2 1/2] tests/kms_rmfb: Create dynamic subtests Mohammed Thasleem
@ 2022-06-28  6:46   ` Kamil Konieczny
  2022-06-28  8:20     ` Thasleem, Mohammed
  0 siblings, 1 reply; 8+ messages in thread
From: Kamil Konieczny @ 2022-06-28  6:46 UTC (permalink / raw)
  To: igt-dev

Hi Mohammed,

On 2022-06-27 at 23:30:43 +0530, Mohammed Thasleem wrote:
> Modified kms_rmfb to include dynamic test cases.
> 
> v2: addressed indentation, test description moved into struct
>     and added global description to test.
> v3: minor changes.
> 
> Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com>
> ---
>  tests/kms_rmfb.c | 37 +++++++++++++++++++++++++++----------
>  1 file changed, 27 insertions(+), 10 deletions(-)
> 
> diff --git a/tests/kms_rmfb.c b/tests/kms_rmfb.c
> index fcd5cdad..89f7c80c 100644
> --- a/tests/kms_rmfb.c
> +++ b/tests/kms_rmfb.c
> @@ -36,6 +36,9 @@
>  #define DRM_CAP_CURSOR_HEIGHT 0x9
>  #endif
>  
> +IGT_TEST_DESCRIPTION("This tests rmfb and close-fd behavior. In these cases"
> +		     "the framebuffers should be removed from the crtc.");
> +
>  struct rmfb_data {
>  	int drm_fd;
>  	igt_display_t display;
> @@ -151,13 +154,28 @@ run_rmfb_test(struct rmfb_data *data, bool reopen)
>  	igt_output_t *output;
>  	enum pipe pipe;
>  
> -	for_each_pipe_with_single_output(&data->display, pipe, output)
> -		test_rmfb(data, output, pipe, reopen);
> +	for_each_pipe_with_single_output(&data->display, pipe, output) {
> +		igt_dynamic_f("%s-pipe-%s", igt_output_name(output),
> +			      kmstest_pipe_name(pipe))
> +			test_rmfb(data, output, pipe, reopen);
> +	}
>  }
>  
>  igt_main
>  {
> +	const struct {
> +		bool flags;
> +		const char *name;
> +		const char *description;
> +	} tests[] = {
> +		{ false, "rmfb-ioctl", "RMFB is supposed to free the framebuffers from any and all "
> +				       "planes so test this and make sure it works."},
> +		{ true, "close-fd", "RMFB is supposed to free the framebuffers from any and all "
> +				    "planes so test this and make sure it works with fd close "
> +				    "and reopen."},
> +	};
>  	struct rmfb_data data = {};
> +	int i;
>  
>  	igt_fixture {
>  		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
> @@ -168,15 +186,14 @@ igt_main
>  		igt_display_require_output(&data.display);
>  	}
>  
> -	igt_describe("RMFB is supposed to free the framebuffers from any and all "
> -		     "planes so test this and make sure it works.");
> -	igt_subtest_f("rmfb-ioctl")
> -		run_rmfb_test(&data, false);
> +	for (i = 0; i < ARRAY_SIZE(tests); i++) {
> +

Remove this empy line. With that fixed you can add my r-b tag.
Please use Kamil Konieczny <kamil.konieczny@linux.intel.com>
in r-b tag, also when sending please put mailing list in To
and all other addresses in Cc field.

Regards,
Kamil

> +		igt_describe(tests[i].description);
> +		igt_subtest_with_dynamic(tests[i].name) {
> +			run_rmfb_test(&data, tests[i].flags);
>  
> -	igt_describe("RMFB is supposed to free the framebuffers from any and all planes "
> -		     "so test this and make sure it works with fd close and reopen.");
> -	igt_subtest_f("close-fd")
> -		run_rmfb_test(&data, true);
> +		}
> +	}
>  
>  	igt_fixture {
>  		igt_display_fini(&data.display);
> -- 
> 2.25.1
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [igt-dev] [PATCH v2 1/2] tests/kms_rmfb: Create dynamic subtests
  2022-06-28  6:46   ` Kamil Konieczny
@ 2022-06-28  8:20     ` Thasleem, Mohammed
  0 siblings, 0 replies; 8+ messages in thread
From: Thasleem, Mohammed @ 2022-06-28  8:20 UTC (permalink / raw)
  To: Kamil Konieczny, igt-dev

Hi Kamil,

Thanks for reviews.
Addressed comments at v4.

-----Original Message-----
From: Kamil Konieczny <kamil.konieczny@linux.intel.com> 
Sent: Tuesday, June 28, 2022 12:16 PM
To: igt-dev@lists.freedesktop.org
Cc: Thasleem, Mohammed <mohammed.thasleem@intel.com>
Subject: Re: [igt-dev] [PATCH v2 1/2] tests/kms_rmfb: Create dynamic subtests

Hi Mohammed,

On 2022-06-27 at 23:30:43 +0530, Mohammed Thasleem wrote:
> Modified kms_rmfb to include dynamic test cases.
> 
> v2: addressed indentation, test description moved into struct
>     and added global description to test.
> v3: minor changes.
> 
> Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com>
> ---
>  tests/kms_rmfb.c | 37 +++++++++++++++++++++++++++----------
>  1 file changed, 27 insertions(+), 10 deletions(-)
> 
> diff --git a/tests/kms_rmfb.c b/tests/kms_rmfb.c index 
> fcd5cdad..89f7c80c 100644
> --- a/tests/kms_rmfb.c
> +++ b/tests/kms_rmfb.c
> @@ -36,6 +36,9 @@
>  #define DRM_CAP_CURSOR_HEIGHT 0x9
>  #endif
>  
> +IGT_TEST_DESCRIPTION("This tests rmfb and close-fd behavior. In these cases"
> +		     "the framebuffers should be removed from the crtc.");
> +
>  struct rmfb_data {
>  	int drm_fd;
>  	igt_display_t display;
> @@ -151,13 +154,28 @@ run_rmfb_test(struct rmfb_data *data, bool reopen)
>  	igt_output_t *output;
>  	enum pipe pipe;
>  
> -	for_each_pipe_with_single_output(&data->display, pipe, output)
> -		test_rmfb(data, output, pipe, reopen);
> +	for_each_pipe_with_single_output(&data->display, pipe, output) {
> +		igt_dynamic_f("%s-pipe-%s", igt_output_name(output),
> +			      kmstest_pipe_name(pipe))
> +			test_rmfb(data, output, pipe, reopen);
> +	}
>  }
>  
>  igt_main
>  {
> +	const struct {
> +		bool flags;
> +		const char *name;
> +		const char *description;
> +	} tests[] = {
> +		{ false, "rmfb-ioctl", "RMFB is supposed to free the framebuffers from any and all "
> +				       "planes so test this and make sure it works."},
> +		{ true, "close-fd", "RMFB is supposed to free the framebuffers from any and all "
> +				    "planes so test this and make sure it works with fd close "
> +				    "and reopen."},
> +	};
>  	struct rmfb_data data = {};
> +	int i;
>  
>  	igt_fixture {
>  		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
> @@ -168,15 +186,14 @@ igt_main
>  		igt_display_require_output(&data.display);
>  	}
>  
> -	igt_describe("RMFB is supposed to free the framebuffers from any and all "
> -		     "planes so test this and make sure it works.");
> -	igt_subtest_f("rmfb-ioctl")
> -		run_rmfb_test(&data, false);
> +	for (i = 0; i < ARRAY_SIZE(tests); i++) {
> +

Remove this empy line. With that fixed you can add my r-b tag.
Please use Kamil Konieczny <kamil.konieczny@linux.intel.com> in r-b tag, also when sending please put mailing list in To and all other addresses in Cc field.

Regards,
Kamil

> +		igt_describe(tests[i].description);
> +		igt_subtest_with_dynamic(tests[i].name) {
> +			run_rmfb_test(&data, tests[i].flags);
>  
> -	igt_describe("RMFB is supposed to free the framebuffers from any and all planes "
> -		     "so test this and make sure it works with fd close and reopen.");
> -	igt_subtest_f("close-fd")
> -		run_rmfb_test(&data, true);
> +		}
> +	}
>  
>  	igt_fixture {
>  		igt_display_fini(&data.display);
> --
> 2.25.1
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [igt-dev] [PATCH v2 1/2] tests/kms_rmfb: Create dynamic subtests
  2022-06-23 12:52 ` [igt-dev] [PATCH v2 1/2] tests/kms_rmfb: Create dynamic subtests Mohammed Thasleem
@ 2022-06-27 12:47   ` Kamil Konieczny
  0 siblings, 0 replies; 8+ messages in thread
From: Kamil Konieczny @ 2022-06-27 12:47 UTC (permalink / raw)
  To: igt-dev

Hi Mohammed,

On 2022-06-23 at 18:22:38 +0530, Mohammed Thasleem wrote:
> Modified kms_rmfb to include dynamic test cases.
> 
> v2: addressed indentation, test description moved into struct
>     and added global description to test.
> 
> Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com>
> ---
>  tests/kms_rmfb.c | 37 +++++++++++++++++++++++++++----------
>  1 file changed, 27 insertions(+), 10 deletions(-)
> 
> diff --git a/tests/kms_rmfb.c b/tests/kms_rmfb.c
> index fcd5cdad..72e58042 100644
> --- a/tests/kms_rmfb.c
> +++ b/tests/kms_rmfb.c
> @@ -36,6 +36,9 @@
>  #define DRM_CAP_CURSOR_HEIGHT 0x9
>  #endif
>  
> +IGT_TEST_DESCRIPTION("This tests rmfb and close-fd behavior. In these cases"
> +		     "the framebuffers should be removed from the crtc.");
> +
>  struct rmfb_data {
>  	int drm_fd;
>  	igt_display_t display;
> @@ -151,14 +154,29 @@ run_rmfb_test(struct rmfb_data *data, bool reopen)
>  	igt_output_t *output;
>  	enum pipe pipe;
>  
> -	for_each_pipe_with_single_output(&data->display, pipe, output)
> -		test_rmfb(data, output, pipe, reopen);
> +	for_each_pipe_with_single_output(&data->display, pipe, output) {
> +		igt_dynamic_f("%s-pipe-%s", igt_output_name(output),
> +			      kmstest_pipe_name(pipe))
> +			test_rmfb(data, output, pipe, reopen);
> +	}
>  }
>  
>  igt_main
>  {
> +	int i;

Move this below after tests[] definition.

>  	struct rmfb_data data = {};
>  

Remove this empty line from here.

> +	const struct {
> +		bool flags;
> +		const char *name;
> +		const char *description;
> +	} tests[] = {
> +		{ false, "rmfb-ioctl", "RMFB is supposed to free the framebuffers from any and all"
------------------------------------------------------------------------------------------------- ^
Please add space here. You can use --describe option to see
description on screen and check them. Now it will look like
"allplanes", but it should be "all planes".

> +				       "planes so test this and make sure it works."},
> +		{ true, "close-fd", "RMFB is supposed to free the framebuffers from any and all planes"
----------------------------------------------------------------------------------------------------- ^
Same here, add space at end.
This line is a little too long, split it more, into three lines.

> +				    "so test this and make sure it works with fd close and reopen."},
> +	};

Put "int i;" here.

> +
>  	igt_fixture {
>  		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
>  
> @@ -168,15 +186,14 @@ igt_main
>  		igt_display_require_output(&data.display);
>  	}
>  
> -	igt_describe("RMFB is supposed to free the framebuffers from any and all "
> -		     "planes so test this and make sure it works.");
> -	igt_subtest_f("rmfb-ioctl")
> -		run_rmfb_test(&data, false);
> +	for (i = 0; i < ARRAY_SIZE(tests); i++) {
>  
> -	igt_describe("RMFB is supposed to free the framebuffers from any and all planes "
> -		     "so test this and make sure it works with fd close and reopen.");
> -	igt_subtest_f("close-fd")
> -		run_rmfb_test(&data, true);
> +		igt_describe(tests[i].description);
> +		igt_subtest_with_dynamic(tests[i].name) {
> +			run_rmfb_test(&data, tests[i].flags);
> +
> +		}
> +	}
>  
>  	igt_fixture {
>  		igt_display_fini(&data.display);
> -- 
> 2.25.1
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [igt-dev] [PATCH v2 1/2] tests/kms_rmfb: Create dynamic subtests
  2022-06-23 12:52 [igt-dev] [PATCH v2 0/2] tests/kms_rmfb: IGT test Cleanup Mohammed Thasleem
@ 2022-06-23 12:52 ` Mohammed Thasleem
  2022-06-27 12:47   ` Kamil Konieczny
  0 siblings, 1 reply; 8+ messages in thread
From: Mohammed Thasleem @ 2022-06-23 12:52 UTC (permalink / raw)
  To: igt-dev, kamil.konieczny; +Cc: nidhi1.gupta

Modified kms_rmfb to include dynamic test cases.

v2: addressed indentation, test description moved into struct
    and added global description to test.

Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com>
---
 tests/kms_rmfb.c | 37 +++++++++++++++++++++++++++----------
 1 file changed, 27 insertions(+), 10 deletions(-)

diff --git a/tests/kms_rmfb.c b/tests/kms_rmfb.c
index fcd5cdad..72e58042 100644
--- a/tests/kms_rmfb.c
+++ b/tests/kms_rmfb.c
@@ -36,6 +36,9 @@
 #define DRM_CAP_CURSOR_HEIGHT 0x9
 #endif
 
+IGT_TEST_DESCRIPTION("This tests rmfb and close-fd behavior. In these cases"
+		     "the framebuffers should be removed from the crtc.");
+
 struct rmfb_data {
 	int drm_fd;
 	igt_display_t display;
@@ -151,14 +154,29 @@ run_rmfb_test(struct rmfb_data *data, bool reopen)
 	igt_output_t *output;
 	enum pipe pipe;
 
-	for_each_pipe_with_single_output(&data->display, pipe, output)
-		test_rmfb(data, output, pipe, reopen);
+	for_each_pipe_with_single_output(&data->display, pipe, output) {
+		igt_dynamic_f("%s-pipe-%s", igt_output_name(output),
+			      kmstest_pipe_name(pipe))
+			test_rmfb(data, output, pipe, reopen);
+	}
 }
 
 igt_main
 {
+	int i;
 	struct rmfb_data data = {};
 
+	const struct {
+		bool flags;
+		const char *name;
+		const char *description;
+	} tests[] = {
+		{ false, "rmfb-ioctl", "RMFB is supposed to free the framebuffers from any and all"
+				       "planes so test this and make sure it works."},
+		{ true, "close-fd", "RMFB is supposed to free the framebuffers from any and all planes"
+				    "so test this and make sure it works with fd close and reopen."},
+	};
+
 	igt_fixture {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 
@@ -168,15 +186,14 @@ igt_main
 		igt_display_require_output(&data.display);
 	}
 
-	igt_describe("RMFB is supposed to free the framebuffers from any and all "
-		     "planes so test this and make sure it works.");
-	igt_subtest_f("rmfb-ioctl")
-		run_rmfb_test(&data, false);
+	for (i = 0; i < ARRAY_SIZE(tests); i++) {
 
-	igt_describe("RMFB is supposed to free the framebuffers from any and all planes "
-		     "so test this and make sure it works with fd close and reopen.");
-	igt_subtest_f("close-fd")
-		run_rmfb_test(&data, true);
+		igt_describe(tests[i].description);
+		igt_subtest_with_dynamic(tests[i].name) {
+			run_rmfb_test(&data, tests[i].flags);
+
+		}
+	}
 
 	igt_fixture {
 		igt_display_fini(&data.display);
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-06-28  8:20 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-27 18:00 [igt-dev] [PATCH v2 0/2] tests/kms_rmfb: IGT test cleanup Mohammed Thasleem
2022-06-27 18:00 ` [igt-dev] [PATCH v2 1/2] tests/kms_rmfb: Create dynamic subtests Mohammed Thasleem
2022-06-28  6:46   ` Kamil Konieczny
2022-06-28  8:20     ` Thasleem, Mohammed
2022-06-27 18:00 ` [igt-dev] [PATCH v2 2/2] tests/kms_rmfb: Test Cleanup Mohammed Thasleem
2022-06-27 23:20 ` [igt-dev] ✗ Fi.CI.BAT: failure for tests/kms_rmfb: IGT test cleanup (rev3) Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2022-06-23 12:52 [igt-dev] [PATCH v2 0/2] tests/kms_rmfb: IGT test Cleanup Mohammed Thasleem
2022-06-23 12:52 ` [igt-dev] [PATCH v2 1/2] tests/kms_rmfb: Create dynamic subtests Mohammed Thasleem
2022-06-27 12:47   ` Kamil Konieczny

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.