[igt-dev] [PATCH v2 1/2] tests/i915/kms_mmap_write_crc: Create dynamic subtests

Mohammed Thasleem mohammed.thasleem at intel.com
Tue Jun 28 06:10:42 UTC 2022


Modified kms_mmap_write_crc to include dynamic test cases.

v2: moved for loop to after igt_subtest_with_dynamic.

Signed-off-by: Mohammed Thasleem <mohammed.thasleem at intel.com>
---
 tests/i915/kms_mmap_write_crc.c | 39 +++++++++++++++------------------
 1 file changed, 18 insertions(+), 21 deletions(-)

diff --git a/tests/i915/kms_mmap_write_crc.c b/tests/i915/kms_mmap_write_crc.c
index b17e5fdb..e36c4a5b 100644
--- a/tests/i915/kms_mmap_write_crc.c
+++ b/tests/i915/kms_mmap_write_crc.c
@@ -213,23 +213,9 @@ static void cleanup_crtc(data_t *data)
 
 static void run_test(data_t *data)
 {
-	igt_display_t *display = &data->display;
-	igt_output_t *output;
-	enum pipe pipe;
-
-	for_each_pipe_with_valid_output(display, pipe, output) {
-		data->output = output;
-		data->pipe = pipe;
-
-		prepare_crtc(data);
-		test(data);
-		cleanup_crtc(data);
-
-		/* once is enough */
-		return;
-	}
-
-	igt_skip("no valid crtc/connector combinations found\n");
+	prepare_crtc(data);
+	test(data);
+	cleanup_crtc(data);
 }
 
 struct igt_helper_process hog;
@@ -270,6 +256,8 @@ static data_t data;
 igt_main_args("n", NULL, NULL, opt_handler, NULL)
 {
 	int i;
+	igt_output_t *output;
+	enum pipe pipe;
 
 	igt_fixture {
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
@@ -286,10 +274,19 @@ igt_main_args("n", NULL, NULL, opt_handler, NULL)
 	}
 
 	igt_describe("Tests that caching mode has become UC/WT and flushed using mmap write");
-	igt_subtest("main") {
-		igt_info("Using %d rounds for the test\n", ROUNDS);
-		for (i = 0; i < ROUNDS; i++)
-			run_test(&data);
+	igt_info("Using %d rounds for each pipe in the test\n", ROUNDS);
+
+	igt_subtest_with_dynamic("main") {
+		for (i = 0; i < ROUNDS; i++) {
+			for_each_pipe_with_valid_output(&data.display, pipe, output) {
+				igt_dynamic_f("%s-pipe-%s", igt_output_name(output),
+					      kmstest_pipe_name(pipe)) {
+					data.output = output;
+					data.pipe = pipe;
+					run_test(&data);
+				}
+			}
+		}
 	}
 
 	igt_fixture {
-- 
2.25.1



More information about the igt-dev mailing list