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

Rob Clark robdclark at gmail.com
Tue Sep 26 18:47:47 UTC 2023


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);
+
+	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