* [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.