[igt-dev] [PATCH i-g-t 1/2] tests/i915/kms_draw_crc.c: Convert tests to dynamic

Nidhi Gupta nidhi1.gupta at intel.com
Thu Jun 16 21:56:53 UTC 2022


Convert the existing subtests to dynamic subtests at pipe level.

Signed-off-by: Nidhi Gupta <nidhi1.gupta at intel.com>
---
 tests/i915/kms_draw_crc.c | 26 ++++++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

diff --git a/tests/i915/kms_draw_crc.c b/tests/i915/kms_draw_crc.c
index 33fefed4..04cae0aa 100644
--- a/tests/i915/kms_draw_crc.c
+++ b/tests/i915/kms_draw_crc.c
@@ -40,6 +40,7 @@ drmModeResPtr drm_res;
 drmModeConnectorPtr drm_connectors[MAX_CONNECTORS];
 struct buf_ops *bops;
 igt_pipe_crc_t *pipe_crc;
+igt_display_t display;
 
 static const uint32_t formats[] = {
 	DRM_FORMAT_XRGB8888,
@@ -265,6 +266,7 @@ static void setup_environment(void)
 	drm_fd = drm_open_driver_master(DRIVER_INTEL);
 	igt_require(drm_fd >= 0);
 
+	igt_display_require(&display, drm_fd);
 	drm_res = drmModeGetResources(drm_fd);
 	igt_require(drm_res);
 	igt_assert(drm_res->count_connectors <= MAX_CONNECTORS);
@@ -331,6 +333,8 @@ igt_main
 {
 	enum igt_draw_method method;
 	int format_idx, modifier_idx;
+	igt_output_t *output;
+	enum pipe pipe;
 
 	igt_fixture
 		setup_environment();
@@ -340,18 +344,28 @@ igt_main
 	for (modifier_idx = 0; modifier_idx < ARRAY_SIZE(modifiers); modifier_idx++) {
 		igt_describe("This subtest verfies igt_draw library works "
 			     "with different modifiers, DRM_FORMATS, DRAW_METHODS.");
-		igt_subtest_f("draw-method-%s-%s-%s",
+		igt_subtest_with_dynamic_f("draw-method-%s-%s-%s",
 			      format_str(format_idx),
 			      igt_draw_get_method_name(method),
-			      modifier_str(modifier_idx))
-			draw_method_subtest(method, format_idx,
-					    modifiers[modifier_idx]);
+			      modifier_str(modifier_idx)) {
+			for_each_pipe_with_valid_output(&display, pipe, output) {
+				igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe)) {
+					draw_method_subtest(method, format_idx,
+					    	    modifiers[modifier_idx]);
+				}
+			}
+		}
 	} } }
 
 	igt_describe("This subtest verifies CRC after filling fb with x-tiling "
 		     "or none.");
-	igt_subtest("fill-fb")
-		fill_fb_subtest();
+	igt_subtest_with_dynamic("fill-fb") {
+		for_each_pipe_with_valid_output(&display, pipe, output) {
+			igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe)) {
+				fill_fb_subtest();
+			}
+		}
+	}
 
 	igt_fixture
 		teardown_environment();
-- 
2.26.2



More information about the igt-dev mailing list