main: Add test initialization function

Since Clutter's backend relies on MetaBackend now, initialzation has
to go through meta_init(), both in mutter and in gnome-shell.

However the compositor enum and backend gtype used to enforce the
environment used for tests are private, so instead expose a test
initialization function that can be used from both mutter and
gnome-shell.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/750
This commit is contained in:
Florian Müllner
2019-08-25 17:20:51 +03:00
parent ccefa87351
commit 7e69d1400a
3 changed files with 24 additions and 9 deletions

View File

@ -87,6 +87,7 @@
#ifdef HAVE_WAYLAND
#include "backends/x11/nested/meta-backend-x11-nested.h"
#include "wayland/meta-wayland.h"
#include "wayland/meta-xwayland.h"
#endif
#ifdef HAVE_NATIVE_BACKEND
@ -741,3 +742,21 @@ meta_get_x11_display_policy (void)
return META_DISPLAY_POLICY_MANDATORY;
}
void
meta_test_init (void)
{
#if defined(HAVE_WAYLAND)
g_autofree char *display_name = g_strdup ("mutter-test-display-XXXXXX");
display_name = mktemp (display_name);
meta_override_compositor_configuration (META_COMPOSITOR_TYPE_WAYLAND,
META_TYPE_BACKEND_X11_NESTED);
meta_wayland_override_display_name (display_name);
meta_xwayland_override_display_number (512 + 512 * rand());
meta_init ();
#else
g_error ("Tests require wayland support");
#endif
}