[igt-dev] [PATCH 3/6] tests/kms_cursor_edge_walk: Create dynamic subtests
Modem, Bhanuprakash
bhanuprakash.modem at intel.com
Mon May 9 13:04:15 UTC 2022
On Mon-09-05-2022 06:09 pm, Kamil Konieczny wrote:
> Hi Bhanuprakash,
>
> On 2022-05-09 at 12:56:34 +0530, Bhanuprakash Modem wrote:
>> Covert the existing subtests to dynamic subtests at pipe level.
> ----^
> s/Covert/Convert/
>
>>
>> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
>> ---
>> tests/kms_cursor_edge_walk.c | 66 ++++++++++++++++--------------------
>> 1 file changed, 30 insertions(+), 36 deletions(-)
>>
>> diff --git a/tests/kms_cursor_edge_walk.c b/tests/kms_cursor_edge_walk.c
>> index b775714f..01ac9790 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;
>
> Add description field here.
>
>> + } tests[] = {
>> + { "left-edge", EDGE_LEFT },
>
> Put descriptions here.
>
>> + { "right-edge", EDGE_RIGHT },
>> + { "top-edge", EDGE_TOP },
>> + { "top-bottom", EDGE_BOTTOM },
>> + };
>> + int i;
>> +
>> igt_fixture {
>> int ret;
>>
>> @@ -328,44 +339,27 @@ 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_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);
>> + igt_describe("Checking cursor by walking left/right/top/bottom edge of screen");
>> + igt_subtest_group {
>> + for (i = 0; i < ARRAY_SIZE(tests); i++) {
>
> Please add description here.
Thanks for the review Kamil,
This is intentional. As we are grouping these tests (using
igt_subtest_group), the same igt_describe is applicable to all subtests.
# ./build/tests/kms_cursor_edge_walk --desc
Exercise CHV pipe C cursor fail
SUB left-edge ../tests/kms_cursor_edge_walk.c:348:
Checking cursor by walking left/right/top/bottom edge of screen
SUB right-edge ../tests/kms_cursor_edge_walk.c:348:
Checking cursor by walking left/right/top/bottom edge of screen
SUB top-edge ../tests/kms_cursor_edge_walk.c:348:
Checking cursor by walking left/right/top/bottom edge of screen
SUB top-bottom ../tests/kms_cursor_edge_walk.c:348:
Checking cursor by walking left/right/top/bottom edge of screen
- Bhanu
>
> Regards,
> Kamil
>
>> + igt_subtest_with_dynamic(tests[i].name) {
>> + for_each_pipe(&data.display, data.pipe) {
>> + igt_fixture {
>> + igt_require(data.curw <= max_curw && data.curh <= max_curh);
>> + 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-%dx%d",
>> + kmstest_pipe_name(data.pipe),
>> + data.curw, data.curh)
>> + test_crtc(&data, tests[i].flags);
>> + }
>> + }
>> }
>> }
>> }
>> --
>> 2.35.1
>>
More information about the igt-dev
mailing list