[igt-dev] [PATCH i-g-t 2/3] tests/kms_cursor_crc: Extract run_size_tests()
Ville Syrjala
ville.syrjala at linux.intel.com
Wed Mar 24 18:17:34 UTC 2021
From: Ville Syrjälä <ville.syrjala at linux.intel.com>
Refactor the common size tests into their own function and
just call it twice.
Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
---
tests/kms_cursor_crc.c | 103 +++++++++++++++++------------------------
1 file changed, 42 insertions(+), 61 deletions(-)
diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
index 7068475e04b1..5f3eeaa0c5ac 100644
--- a/tests/kms_cursor_crc.c
+++ b/tests/kms_cursor_crc.c
@@ -532,6 +532,9 @@ static void require_cursor_size(data_t *data, int w, int h)
igt_plane_t *primary, *cursor;
int ret;
+ igt_require(w <= data->cursor_max_w &&
+ h <= data->cursor_max_h);
+
igt_output_set_pipe(output, data->pipe);
mode = igt_output_get_mode(output);
@@ -660,6 +663,41 @@ static void test_rapid_movement(data_t *data)
igt_assert_lt(usec, 0.9 * 400 * 1000000 / data->refresh);
}
+static void run_size_tests(data_t *data, enum pipe pipe,
+ int w, int h)
+{
+ igt_fixture {
+ create_cursor_fb(data, w, h);
+ require_cursor_size(data, w, h);
+ }
+
+ /* Using created cursor FBs to test cursor support */
+ igt_describe("Check if a given-size cursor is well-positioned inside the screen.");
+ igt_subtest_f("pipe-%s-cursor%dx%donscreen", kmstest_pipe_name(pipe), w, h)
+ run_test(data, test_crc_onscreen, w, h);
+
+ igt_describe("Check if a given-size cursor is well-positioned outside the "
+ "screen.");
+ igt_subtest_f("pipe-%s-cursor%dx%doffscreen", kmstest_pipe_name(pipe), w, h)
+ run_test(data, test_crc_offscreen, w, h);
+
+ igt_describe("Check the smooth and pixel-by-pixel given-size cursor "
+ "movements on horizontal, vertical and diagonal.");
+ igt_subtest_f("pipe-%s-cursor%dx%dsliding", kmstest_pipe_name(pipe), w, h)
+ run_test(data, test_crc_sliding, w, h);
+
+ igt_describe("Check random placement of a cursor with given size.");
+ igt_subtest_f("pipe-%s-cursor%dx%drandom", kmstest_pipe_name(pipe), w, h)
+ run_test(data, test_crc_random, w, h);
+
+ igt_describe("Check the rapid update of given-size cursor movements.");
+ igt_subtest_f("pipe-%s-cursor%dx%drapid-movement", kmstest_pipe_name(pipe), w, h)
+ run_test(data, test_rapid_movement, w, h);
+
+ igt_fixture
+ igt_remove_fb(data->drm_fd, &data->fb);
+}
+
static void run_tests_on_pipe(data_t *data, enum pipe pipe)
{
int cursor_size;
@@ -709,44 +747,8 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
int w = cursor_size;
int h = cursor_size;
- igt_fixture {
- igt_require(w <= data->cursor_max_w &&
- h <= data->cursor_max_h);
-
- create_cursor_fb(data, w, h);
- }
-
- igt_subtest_group {
- igt_fixture
- require_cursor_size(data, w, h);
-
- /* Using created cursor FBs to test cursor support */
- igt_describe("Check if a given-size cursor is well-positioned inside the "
- "screen.");
- igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
- run_test(data, test_crc_onscreen, w, h);
-
- igt_describe("Check if a given-size cursor is well-positioned outside the "
- "screen.");
- igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
- run_test(data, test_crc_offscreen, w, h);
-
- igt_describe("Check the smooth and pixel-by-pixel given-size cursor "
- "movements on horizontal, vertical and diagonal.");
- igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
- run_test(data, test_crc_sliding, w, h);
-
- igt_describe("Check random placement of a cursor with given size.");
- igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
- run_test(data, test_crc_random, w, h);
-
- igt_describe("Check the rapid update of given-size cursor movements.");
- igt_subtest_f("pipe-%s-cursor-%dx%d-rapid-movement", kmstest_pipe_name(pipe), w, h)
- run_test(data, test_rapid_movement, w, h);
- }
-
- igt_fixture
- igt_remove_fb(data->drm_fd, &data->fb);
+ igt_subtest_group
+ run_size_tests(data, pipe, w, h);
/*
* Test non-square cursors a bit on the platforms
@@ -755,29 +757,8 @@ static void run_tests_on_pipe(data_t *data, enum pipe pipe)
*/
h /= 3;
- igt_fixture
- create_cursor_fb(data, w, h);
-
- igt_subtest_group {
- igt_fixture
- require_cursor_size(data, w, h);
-
- /* Using created cursor FBs to test cursor support */
- igt_subtest_f("pipe-%s-cursor-%dx%d-onscreen", kmstest_pipe_name(pipe), w, h)
- run_test(data, test_crc_onscreen, w, h);
-
- igt_subtest_f("pipe-%s-cursor-%dx%d-offscreen", kmstest_pipe_name(pipe), w, h)
- run_test(data, test_crc_offscreen, w, h);
-
- igt_subtest_f("pipe-%s-cursor-%dx%d-sliding", kmstest_pipe_name(pipe), w, h)
- run_test(data, test_crc_sliding, w, h);
-
- igt_subtest_f("pipe-%s-cursor-%dx%d-random", kmstest_pipe_name(pipe), w, h)
- run_test(data, test_crc_random, w, h);
- }
-
- igt_fixture
- igt_remove_fb(data->drm_fd, &data->fb);
+ igt_subtest_group
+ run_size_tests(data, pipe, w, h);
}
}
--
2.26.2
More information about the igt-dev
mailing list