[igt-dev] [PATCH v3 3/3] core_getversion: Test for desired device

Zbigniew Kempczyński zbigniew.kempczynski at intel.com
Wed Sep 27 14:26:11 UTC 2023


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:

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