From 54ff3199bc2c1ba586f5d608bd91d2b3eea66202 Mon Sep 17 00:00:00 2001 From: Bhanuprakash Modem Date: Fri, 10 Jun 2022 14:15:39 +0530 Subject: tests/kms_cursor_edge_walk: Convert tests to dynamic Convert the existing subtests to dynamic subtests at pipe level. V2: * Fix nested igt_fixture in igt_subtest V3: * Add output name to subtest Signed-off-by: Bhanuprakash Modem Reviewed-by: Swati Sharma --- tests/kms_cursor_edge_walk.c | 63 ++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 35 deletions(-) (limited to 'tests') diff --git a/tests/kms_cursor_edge_walk.c b/tests/kms_cursor_edge_walk.c index b775714f..526bc6b3 100644 --- a/tests/kms_cursor_edge_walk.c +++ b/tests/kms_cursor_edge_walk.c @@ -309,6 +309,17 @@ static const char *help_str = igt_main_args("", long_opts, help_str, opt_handler, &data) { + struct { + const char *name; + unsigned flags; + } tests[] = { + { "left-edge", EDGE_LEFT }, + { "right-edge", EDGE_RIGHT }, + { "top-edge", EDGE_TOP }, + { "top-bottom", EDGE_BOTTOM }, + }; + int i; + igt_fixture { int ret; @@ -328,44 +339,26 @@ igt_main_args("", long_opts, help_str, opt_handler, &data) igt_require_pipe_crc(data.drm_fd); igt_display_require(&data.display, data.drm_fd); + igt_display_require_output(&data.display); } - for_each_pipe_static(data.pipe) { - igt_subtest_group { - igt_fixture { - igt_display_require_output_on_pipe(&data.display, data.pipe); - data.output = igt_get_single_output_for_pipe(&data.display, data.pipe); - } - - for (data.curw = 64; data.curw <= 256; data.curw *= 2) { - data.curh = data.curw; - - igt_fixture + igt_describe("Checking cursor by walking left/right/top/bottom edge of screen"); + igt_subtest_group { + for (i = 0; i < ARRAY_SIZE(tests); i++) { + igt_subtest_with_dynamic(tests[i].name) { + for_each_pipe(&data.display, data.pipe) { igt_require(data.curw <= max_curw && data.curh <= max_curh); - - igt_describe("Checking cursor by walking left edge of screen"); - igt_subtest_f("pipe-%s-%dx%d-left-edge", - kmstest_pipe_name(data.pipe), - data.curw, data.curh) - test_crtc(&data, EDGE_LEFT); - - igt_describe("Checking cursor by walking right edge of screen"); - igt_subtest_f("pipe-%s-%dx%d-right-edge", - kmstest_pipe_name(data.pipe), - data.curw, data.curh) - test_crtc(&data, EDGE_RIGHT); - - igt_describe("Checking cursor by walking top edge of screen"); - igt_subtest_f("pipe-%s-%dx%d-top-edge", - kmstest_pipe_name(data.pipe), - data.curw, data.curh) - test_crtc(&data, EDGE_TOP); - - igt_describe("Checking cursor by walking bottom edge of screen"); - igt_subtest_f("pipe-%s-%dx%d-bottom-edge", - kmstest_pipe_name(data.pipe), - data.curw, data.curh) - test_crtc(&data, EDGE_BOTTOM); + data.output = igt_get_single_output_for_pipe(&data.display, data.pipe); + + for (data.curw = 64; data.curw <= 256; data.curw *= 2) { + data.curh = data.curw; + igt_dynamic_f("pipe-%s-%s-%dx%d", + kmstest_pipe_name(data.pipe), + data.output->name, + data.curw, data.curh) + test_crtc(&data, tests[i].flags); + } + } } } } -- cgit v1.2.3