From: Helen Koike <helen.koike@collabora.com>
To: Rob Clark <robdclark@gmail.com>, igt-dev@lists.freedesktop.org
Cc: Rob Clark <robdclark@chromium.org>, Emma Anholt <emma@anholt.net>
Subject: Re: [igt-dev] [PATCH v5] core_getversion: Test for desired device
Date: Sun, 8 Oct 2023 19:21:55 -0300 [thread overview]
Message-ID: <0ebd6ca2-653b-43e4-981b-b0a88e74aef5@collabora.com> (raw)
In-Reply-To: <20231004172119.289318-1-robdclark@gmail.com>
On 04/10/2023 14:21, Rob Clark wrote:
> From: Rob Clark <robdclark@chromium.org>
>
> We discovered in drm/ci that if the drm device fails to probe, all the
> tests come back as "Skip" and the job is considered successful. Fix
> the getversion test to fail if there is no drm device or if the drm
> device does not match the expected device as specified by the optional
> IGT_FORCE_DRIVER environment variable.
>
> Signed-off-by: Rob Clark <robdclark@chromium.org>
> Acked-by: Helen Koike <helen.koike@collabora.com>
> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Tested-by: Helen Koike <helen.koike@collabora.com>
> ---
> tests/core_getversion.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/tests/core_getversion.c b/tests/core_getversion.c
> index 32cb976e4923..8c8e0c9a3e5e 100644
> --- a/tests/core_getversion.c
> +++ b/tests/core_getversion.c
> @@ -48,14 +48,21 @@ igt_simple_main
> {
> int fd;
> drmVersionPtr v;
> + const char *name = getenv("IGT_FORCE_DRIVER");
I just realized we already use this env var here
https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/blob/master/lib/igt_core.c?ref_type=heads#L1059
>
> - fd = drm_open_driver(DRIVER_ANY);
> + fd = __drm_open_driver(DRIVER_ANY);
> + igt_assert_fd(fd);
Which makes this assert to fail if the driver name doesn't match.
See here
https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/blob/master/lib/drmtest.c#L263
> v = drmGetVersion(fd);
> igt_assert_neq(strlen(v->name), 0);
> igt_assert_neq(strlen(v->date), 0);
> igt_assert_neq(strlen(v->desc), 0);
> if (is_i915_device(fd))
> igt_assert_lte(1, v->version_major);
> + if (name) {
> + igt_assert_f(!strcmp(name, v->name),
> + "Expected driver \"%s\" but got \"%s\"\n",
> + name, v->name);
> + }
Which means it won't reach this part, so I guess we can drop this.
What would be nice is to print the name of forced and dev_name in
open_device() function (seeing the names was very handy in the logs, I
was expecting this print if the env var wasn't matching and I didn't get
it, I lost some life time debugging this heh).
Thanks,
Helen
>
> drmFree(v);
> drm_close_driver(fd);
prev parent reply other threads:[~2023-10-08 22:22 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-04 17:21 [igt-dev] [PATCH v5] core_getversion: Test for desired device Rob Clark
2023-10-04 20:36 ` [igt-dev] ✓ Fi.CI.BAT: success for core_getversion: Test for desired device (rev4) Patchwork
2023-10-04 22:23 ` [igt-dev] ✓ CI.xeBAT: " Patchwork
2023-10-05 6:18 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2023-10-05 8:09 ` [igt-dev] [PATCH v5] core_getversion: Test for desired device Kamil Konieczny
2023-10-08 22:21 ` Helen Koike [this message]
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=0ebd6ca2-653b-43e4-981b-b0a88e74aef5@collabora.com \
--to=helen.koike@collabora.com \
--cc=emma@anholt.net \
--cc=igt-dev@lists.freedesktop.org \
--cc=robdclark@chromium.org \
--cc=robdclark@gmail.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