[igt-dev] [PATCH v4 1/2] tests/i915/kms_mmap_write_crc: Create dynamic subtests
Mohammed Thasleem
mohammed.thasleem at intel.com
Thu Jul 7 17:44:02 UTC 2022
Modified kms_mmap_write_crc to include dynamic test cases.
v2: Moved for loop to after igt_subtest_with_dynamic.
v3: Added break and moved for loop back in igt_dynamic_f.
v4: Removed run_test and moved igt_info in to igt_dynamic_f.
Signed-off-by: Mohammed Thasleem <mohammed.thasleem at intel.com>
---
tests/i915/kms_mmap_write_crc.c | 43 ++++++++++++++-------------------
1 file changed, 18 insertions(+), 25 deletions(-)
diff --git a/tests/i915/kms_mmap_write_crc.c b/tests/i915/kms_mmap_write_crc.c
index b17e5fdb..c732308c 100644
--- a/tests/i915/kms_mmap_write_crc.c
+++ b/tests/i915/kms_mmap_write_crc.c
@@ -211,27 +211,6 @@ static void cleanup_crtc(data_t *data)
igt_remove_fb(data->drm_fd, &data->fb[1]);
}
-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");
-}
-
struct igt_helper_process hog;
/**
@@ -270,6 +249,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 +267,22 @@ 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_subtest_with_dynamic("main") {
+ for_each_pipe_with_valid_output(&data.display, pipe, output) {
+ igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe),
+ igt_output_name(output)) {
+ igt_info("Using %d rounds for each pipe in the test\n", ROUNDS);
+ data.output = output;
+ data.pipe = pipe;
+ prepare_crtc(&data);
+ for (i = 0; i < ROUNDS; i++)
+ test(&data);
+ }
+ cleanup_crtc(&data);
+ /* once is enough */
+ break;
+ }
}
igt_fixture {
--
2.25.1
More information about the igt-dev
mailing list