From 7b37b4d3d723da2c041053472812748465c3ae27 Mon Sep 17 00:00:00 2001 From: Leandro Ribeiro Date: Tue, 5 May 2020 18:14:25 -0300 Subject: [PATCH] tests: properly select renderer for DRM-backend The test suite is dealing only with headless-backend tests. In order to make it able to run DRM-backend tests, we have to properly select the renderer that it will use. This patch add the command line option --use-pixman if the test defines the DRM-backend renderer as RENDERER_PIXMAN, and it will add nothing to the command line if it defines RENDERER_GL (the DRM-backend default renderer is already GL). Also, if the user defines the DRM-backend renderer as RENDERER_NOOP, the test will fail (as it should, since DRM-backend does not implement it). Signed-off-by: Leandro Ribeiro --- tests/weston-test-fixture-compositor.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/weston-test-fixture-compositor.c b/tests/weston-test-fixture-compositor.c index 1b2df97f..ee7a5d1e 100644 --- a/tests/weston-test-fixture-compositor.c +++ b/tests/weston-test-fixture-compositor.c @@ -139,12 +139,18 @@ renderer_to_arg(enum weston_compositor_backend b, enum renderer_type r) [RENDERER_PIXMAN] = "--use-pixman", [RENDERER_GL] = "--use-gl", }; - - assert(r >= 0 && r < ARRAY_LENGTH(headless_names)); + static const char * const drm_names[] = { + [RENDERER_PIXMAN] = "--use-pixman", + [RENDERER_GL] = NULL, + }; switch (b) { case WESTON_BACKEND_HEADLESS: + assert(r >= RENDERER_NOOP && r <= RENDERER_GL); return headless_names[r]; + case WESTON_BACKEND_DRM: + assert(r >= RENDERER_PIXMAN && r <= RENDERER_GL); + return drm_names[r]; default: assert(0 && "renderer_to_str() does not know the backend"); }