[mutter] main: Add test initialization function
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] main: Add test initialization function
- Date: Tue, 27 Aug 2019 12:30:29 +0000 (UTC)
commit 7e69d1400a540003873518b1636b22e97621a4ce
Author: Florian Müllner <fmuellner gnome org>
Date: Sun Aug 25 17:20:51 2019 +0300
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
src/core/main.c | 19 +++++++++++++++++++
src/meta/main.h | 4 ++++
src/tests/clutter-test-utils.h | 10 +---------
3 files changed, 24 insertions(+), 9 deletions(-)
---
diff --git a/src/core/main.c b/src/core/main.c
index b0d50d47b..c32bf8b2b 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,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
+}
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 (); \
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]