[igt-dev] [PATCH v3 3/3] core_getversion: Test for desired device
Rob Clark
robdclark at gmail.com
Wed Sep 27 17:42:54 UTC 2023
On Wed, Sep 27, 2023 at 7:26 AM Zbigniew Kempczyński
<zbigniew.kempczynski at intel.com> wrote:
>
> On Tue, Sep 26, 2023 at 11:47:47AM -0700, Rob Clark wrote:
> > From: Rob Clark <robdclark at 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_REQUIRED_DRIVER environment variable.
> >
> > Signed-off-by: Rob Clark <robdclark at chromium.org>
> > Acked-by: Helen Koike <helen.koike at collabora.com>
> > ---
> > tests/core_getversion.c | 13 ++++++++++++-
> > 1 file changed, 12 insertions(+), 1 deletion(-)
> >
> > diff --git a/tests/core_getversion.c b/tests/core_getversion.c
> > index 32cb976e4923..b298a6890ef9 100644
> > --- a/tests/core_getversion.c
> > +++ b/tests/core_getversion.c
> > @@ -48,14 +48,25 @@ igt_simple_main
> > {
> > int fd;
> > drmVersionPtr v;
> > + const char *name = getenv("IGT_REQUIRED_DRIVER");
> > + int chipset = DRIVER_ANY;
> >
> > - fd = drm_open_driver(DRIVER_ANY);
> > + if (name)
> > + chipset = drm_find_chipset(name);
>
> With invalid name chipset returned == 0, so we'll get unexpected
> results. I would assert like:
>
> if (name) {
> chipset = drm_find_chipset(name);
> igt_assert(chipset > 0);
> }
>
> Rest lgtm so with minor nit above addressed:
>
done, thx
> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
> --
> Zbigniew
>
> > +
> > + fd = __drm_open_driver(chipset);
> > + igt_assert_fd(fd);
> > 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);
> > + }
> >
> > drmFree(v);
> > drm_close_driver(fd);
> > --
> > 2.41.0
> >
More information about the igt-dev
mailing list