igt@kms_frontbuffer_tracking uses TEST_MODE_ITER_BEGIN(t) which consists
of nested for loops. However many loops can be omitted due to continue
statements. This obfuscates following the execution of any given
codepath. Replace TEST_MODE_ITER_BEGIN(t) for fliptrack tests with macro
definition and remove loops that are skipped.
v1->v2
- remove blank line (Mohammed)
Signed-off-by: Michał Grzelak <redacted>
Reviewed-by: Mohammed Thasleem <redacted>
---
tests/intel/kms_frontbuffer_tracking.c | 21 ++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)
diff --git a/tests/intel/kms_frontbuffer_tracking.c b/tests/intel/kms_frontbuffer_tracking.c
index dd7d3188fe..dc8ef069b8 100644
--- a/tests/intel/kms_frontbuffer_tracking.c
+++ b/tests/intel/kms_frontbuffer_tracking.c
@@ -4646,12 +4646,19 @@ int igt_main_args("", long_options, help_str, opt_handler, NULL)
}
TEST_MODE_ITER_END
- TEST_MODE_ITER_BEGIN(t)
- if (t.pipes != PIPE_SINGLE ||
- t.screen != SCREEN_PRIM ||
- t.plane != PLANE_PRI ||
- t.fbs != FBS_INDIVIDUAL ||
- t.method != IGT_DRAW_BLT)
+ t.format = FORMAT_DEFAULT;
+ t.flip = FLIP_PAGEFLIP;
+ t.tiling = opt.tiling;
+ t.pipes = PIPE_SINGLE;
+ t.screen = SCREEN_PRIM;
+ t.plane = PLANE_PRI;
+ t.fbs = FBS_INDIVIDUAL;
+ t.method = IGT_DRAW_BLT;
+
+ for (t.feature = 0; t.feature < FEATURE_COUNT; t.feature++) {
+ if (!opt.show_hidden && t.feature == FEATURE_NONE)
+ continue;
+ if ((t.feature & FEATURE_PSR) && (t.feature & FEATURE_DRRS))
continue;
igt_subtest_f("%s-modesetfrombusy", feature_str(t.feature))@@ -4712,7 +4719,7 @@ int igt_main_args("", long_options, help_str, opt_handler, NULL)
igt_require(igt_draw_supports_method(drm.fd, t.method));
suspend_subtest(&t);
}
- TEST_MODE_ITER_END
+ }
t.pipes = PIPE_SINGLE;
t.screen = SCREEN_PRIM;--
2.45.2