diff --git a/src/core/main.c b/src/core/main.c index b0d50d47b..2724cf076 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -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,22 @@ 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"); + int fd = g_mkstemp (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 + rand() % 512); + meta_init (); + + close (fd); +#else + g_error ("Tests require wayland support"); +#endif +} diff --git a/src/meta/main.h b/src/meta/main.h index b5e3d9dd5..6115b7220 100644 --- a/src/meta/main.h +++ b/src/meta/main.h @@ -75,4 +75,8 @@ void meta_exit (MetaExitCode code) G_GNUC_NORETURN; META_EXPORT void meta_quit (MetaExitCode code); +META_EXPORT +void meta_test_init (void); + + #endif diff --git a/src/tests/clutter-test-utils.h b/src/tests/clutter-test-utils.h index 1c4be6495..f666d8773 100644 --- a/src/tests/clutter-test-utils.h +++ b/src/tests/clutter-test-utils.h @@ -86,13 +86,7 @@ G_BEGIN_DECLS int \ main (int argc, char *argv[]) \ { \ - char *display_name = g_strdup ("mutter-test-display-XXXXXX");\ - int fd = g_mkstemp (display_name);\ - meta_wayland_override_display_name (display_name);\ - meta_override_compositor_configuration (META_COMPOSITOR_TYPE_WAYLAND,\ - META_TYPE_BACKEND_X11_NESTED);\ -\ - meta_init ();\ + meta_test_init ();\ \ clutter_test_init (&argc, &argv); \ \ @@ -100,8 +94,6 @@ main (int argc, char *argv[]) \ units \ } \ \ - close (fd);\ - g_free (display_name);\ return clutter_test_run (); \ }