From: Nidhi Gupta <nidhi1.gupta@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: Nidhi Gupta <nidhi1.gupta@intel.com>,
Petri Latvala <petri.latvala@intel.com>
Subject: [igt-dev] [PATCH i-g-t 1/2] tests/kms_invalid_mode: Convert tests to dynamic
Date: Mon, 27 Jun 2022 15:24:43 +0530 [thread overview]
Message-ID: <20220627095444.29430-2-nidhi1.gupta@intel.com> (raw)
In-Reply-To: <20220627095444.29430-1-nidhi1.gupta@intel.com>
Convert the existing subtests to dynamic subtests at pipe level.
Signed-off-by: Nidhi Gupta <nidhi1.gupta@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
Reviewed-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
tests/kms_invalid_mode.c | 54 ++++++++++++++++++----------------------
1 file changed, 24 insertions(+), 30 deletions(-)
diff --git a/tests/kms_invalid_mode.c b/tests/kms_invalid_mode.c
index 630798d8..0287ee02 100644
--- a/tests/kms_invalid_mode.c
+++ b/tests/kms_invalid_mode.c
@@ -32,6 +32,7 @@ typedef struct _data data_t;
struct _data {
int drm_fd;
+ enum pipe pipe;
igt_display_t display;
igt_output_t *output;
drmModeResPtr res;
@@ -177,21 +178,21 @@ adjust_mode_bad_vtotal(data_t *data, drmModeModeInfoPtr mode)
return true;
}
-static int
+static void
test_output(data_t *data)
{
igt_output_t *output = data->output;
drmModeModeInfo mode;
struct igt_fb fb;
- int i;
+ int ret;
+ uint32_t crtc_id;
/*
* FIXME test every mode we have to be more
* sure everything is really getting rejected?
*/
mode = *igt_output_get_mode(output);
- if (!data->adjust_mode(data, &mode))
- return 0;
+ igt_require(data->adjust_mode(data, &mode));
igt_create_fb(data->drm_fd,
max_t(uint16_t, mode.hdisplay, 64),
@@ -202,32 +203,14 @@ test_output(data_t *data)
kmstest_unset_all_crtcs(data->drm_fd, data->res);
- for (i = 0; i < data->res->count_crtcs; i++) {
- int ret;
-
- igt_info("Checking pipe %c connector %s with mode %s\n",
- 'A'+i, output->name, mode.name);
+ crtc_id = data->display.pipes[data->pipe].crtc_id;
- ret = drmModeSetCrtc(data->drm_fd, data->res->crtcs[i],
- fb.fb_id, 0, 0,
- &output->id, 1, &mode);
- igt_assert_lt(ret, 0);
- }
+ ret = drmModeSetCrtc(data->drm_fd, crtc_id,
+ fb.fb_id, 0, 0,
+ &output->id, 1, &mode);
+ igt_assert_lt(ret, 0);
igt_remove_fb(data->drm_fd, &fb);
-
- return 1;
-}
-
-static void test(data_t *data)
-{
- int valid_connectors = 0;
-
- for_each_connected_output(&data->display, data->output) {
- valid_connectors += test_output(data);
- }
-
- igt_require_f(valid_connectors, "No suitable connectors found\n");
}
static int i915_max_dotclock(data_t *data)
@@ -297,6 +280,10 @@ static data_t data;
igt_main
{
+
+ enum pipe pipe;
+ igt_output_t *output;
+
igt_fixture {
data.drm_fd = drm_open_driver_master(DRIVER_ANY);
@@ -310,10 +297,17 @@ igt_main
igt_info("Max dotclock: %d kHz\n", data.max_dotclock);
}
+ igt_describe("Make sure all modesets are rejected when the requested mode is invalid");
for (int i = 0; i < ARRAY_SIZE(subtests); i++) {
- igt_subtest(subtests[i].name) {
- data.adjust_mode = subtests[i].adjust_mode;
- test(&data);
+ igt_subtest_with_dynamic(subtests[i].name) {
+ for_each_pipe_with_valid_output(&data.display, pipe, output) {
+ igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe)) {
+ data.output = output;
+ data.pipe = pipe;
+ data.adjust_mode = subtests[i].adjust_mode;
+ test_output(&data);
+ }
+ }
}
}
--
2.26.2
next prev parent reply other threads:[~2022-06-27 9:51 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-27 9:54 [igt-dev] [PATCH i-g-t 0/2] tests/kms_invalid_mode: Test Cleanup Nidhi Gupta
2022-06-27 9:54 ` Nidhi Gupta [this message]
2022-06-27 9:54 ` [igt-dev] [PATCH i-g-t 2/2] " Nidhi Gupta
2022-06-27 10:45 ` [igt-dev] ✗ GitLab.Pipeline: warning for tests/kms_invalid_mode: Test Cleanup (rev4) Patchwork
2022-06-27 11:06 ` [igt-dev] ✗ Fi.CI.BAT: failure " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2022-06-28 13:32 [igt-dev] [PATCH i-g-t 0/2] tests/kms_invalid_mode: Test Cleanup Nidhi Gupta
2022-06-28 13:32 ` [igt-dev] [PATCH i-g-t 1/2] tests/kms_invalid_mode: Convert tests to dynamic Nidhi Gupta
2022-06-27 7:07 [igt-dev] [PATCH i-g-t 0/2] tests/kms_invalid_mode: Test Cleanup Nidhi Gupta
2022-06-27 7:07 ` [igt-dev] [PATCH i-g-t 1/2] tests/kms_invalid_mode: Convert tests to dynamic Nidhi Gupta
2022-06-27 7:23 ` Modem, Bhanuprakash
2022-06-23 23:57 [igt-dev] [PATCH i-g-t 0/2] tests/kms_invalid_mode: Test Cleanup Nidhi Gupta
2022-06-23 23:57 ` [igt-dev] [PATCH i-g-t 1/2] tests/kms_invalid_mode: Convert tests to dynamic Nidhi Gupta
2022-06-24 5:09 ` Modem, Bhanuprakash
2022-06-22 15:48 [igt-dev] [PATCH i-g-t 0/2] tests/kms_invalid_mode: Test Cleanup Nidhi Gupta
2022-06-22 15:48 ` [igt-dev] [PATCH i-g-t 1/2] tests/kms_invalid_mode: Convert tests to dynamic Nidhi Gupta
2022-06-22 15:51 ` Petri Latvala
2022-06-23 2:41 ` Modem, Bhanuprakash
2022-06-23 5:55 ` Gupta, Nidhi1
2022-06-23 6:13 ` Modem, Bhanuprakash
2022-06-23 7:27 ` Petri Latvala
2022-06-23 9:07 ` Modem, Bhanuprakash
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220627095444.29430-2-nidhi1.gupta@intel.com \
--to=nidhi1.gupta@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=petri.latvala@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox