From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4E3FD10E555 for ; Thu, 22 Sep 2022 01:03:36 +0000 (UTC) From: Nidhi Gupta To: igt-dev@lists.freedesktop.org Date: Thu, 22 Sep 2022 06:28:18 +0530 Message-Id: <20220922005819.25253-2-nidhi1.gupta@intel.com> In-Reply-To: <20220922005819.25253-1-nidhi1.gupta@intel.com> References: <20220922005819.25253-1-nidhi1.gupta@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [igt-dev] [PATCH 1/2] tests/kms_writeback: Convert tests to dynamic List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Nidhi Gupta Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" List-ID: Convert the existing subtests to dynamic subtests. Signed-off-by: Nidhi Gupta --- tests/kms_writeback.c | 57 +++++++++++++++++++++++++++++++------------ 1 file changed, 42 insertions(+), 15 deletions(-) diff --git a/tests/kms_writeback.c b/tests/kms_writeback.c index 9d134585..3781fa34 100644 --- a/tests/kms_writeback.c +++ b/tests/kms_writeback.c @@ -214,32 +214,38 @@ static void test_invalid_parameters(igt_output_t *output, igt_fb_t *valid_fb, ig uint32_t fb_id; bool ptr_valid; int32_t *out_fence_ptr; + const char *name; } invalid_tests[] = { { /* No output buffer, but the WRITEBACK_OUT_FENCE_PTR set. */ .fb_id = 0, .ptr_valid = true, .out_fence_ptr = &out_fence, + .name = "WRITEBACK_OUT_FENCE_PTR-set", }, { /* Invalid output buffer. */ .fb_id = invalid_fb->fb_id, .ptr_valid = true, .out_fence_ptr = &out_fence, + .name = "Invalid-output-buffer", }, { /* Invalid WRITEBACK_OUT_FENCE_PTR. */ .fb_id = valid_fb->fb_id, .ptr_valid = false, .out_fence_ptr = (int32_t *)0x8, + .name = "Invalid-WRITEBACK_OUT_FENCE_PTR", }, }; for (i = 0; i < ARRAY_SIZE(invalid_tests); i++) { - ret = do_writeback_test(output, invalid_tests[i].fb_id, - invalid_tests[i].out_fence_ptr, - invalid_tests[i].ptr_valid); - igt_assert(ret != 0); + igt_dynamic_f("%s", invalid_tests[i].name) { + ret = do_writeback_test(output, invalid_tests[i].fb_id, + invalid_tests[i].out_fence_ptr, + invalid_tests[i].ptr_valid); + igt_assert(ret != 0); + } } } @@ -247,18 +253,39 @@ static void writeback_fb_id(igt_output_t *output, igt_fb_t *valid_fb, igt_fb_t * { int ret; + struct { + const char *name; + uint32_t fb_id; + int i, expected_ret; + } fb_id_tests[] = { - /* Invalid object for WRITEBACK_FB_ID */ - ret = do_writeback_test(output, output->id, NULL, false); - igt_assert(ret == -EINVAL); + { + .name = "Invalid-object", + .fb_id = output->id, + .expected_ret = -EINVAL, + }, + + { + .name = "Zero-WRITEBACK_FB_ID", + .fb_id = 0, + .expected_ret = 0, + }, + + { + .name = "Valid-output-buffer", + .fb_id = valid_fb->fb_id, + .expected_ret = 0, + }, + }; + + for (int i = 0; i < ARRAY_SIZE(fb_id_tests); i++) { + igt_dynamic_f("%s", fb_id_tests[i].name) { + ret = do_writeback_test(output, fb_id_tests[i].fb_id, NULL, false); + igt_assert(ret == fb_id_tests[i].expected_ret); + } + } - /* Zero WRITEBACK_FB_ID */ - ret = do_writeback_test(output, 0, NULL, false); - igt_assert(ret == 0); - /* Valid output buffer */ - ret = do_writeback_test(output, valid_fb->fb_id, NULL, false); - igt_assert(ret == 0); } static void fill_fb(igt_fb_t *fb, uint32_t pixel) @@ -553,7 +580,7 @@ igt_main_args("b:c:dl", long_options, help_str, opt_handler, NULL) igt_describe("Writeback has a couple of parameters linked together" "(output framebuffer and fence); this test goes through" "the combination of possible bad options"); - igt_subtest("writeback-invalid-parameters") { + igt_subtest_with_dynamic("writeback-invalid-parameters") { igt_fb_t invalid_output_fb; igt_skip_on(data.dump_check || data.list_modes); @@ -570,7 +597,7 @@ igt_main_args("b:c:dl", long_options, help_str, opt_handler, NULL) } igt_describe("Validate WRITEBACK_FB_ID with valid and invalid options"); - igt_subtest("writeback-fb-id") { + igt_subtest_with_dynamic("writeback-fb-id") { igt_fb_t output_fb; igt_skip_on(data.dump_check || data.list_modes); -- 2.36.0