tests: properly select renderer for DRM-backend
authorLeandro Ribeiro <leandro.ribeiro@collabora.com>
Tue, 5 May 2020 21:14:25 +0000 (18:14 -0300)
committerPekka Paalanen <pq@iki.fi>
Tue, 2 Jun 2020 13:47:15 +0000 (13:47 +0000)
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 <leandro.ribeiro@collabora.com>
tests/weston-test-fixture-compositor.c

index 1b2df97f3608d6c5bcba2d9c70cb2900d3343da5..ee7a5d1ef71d5839fbd4cb70b37d633b345bfc59 100644 (file)
@@ -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");
        }