summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2019-07-03 13:43:25 +0200
committerJonas Ã…dahl <jadahl@gmail.com>2019-08-24 08:59:08 +0000
commitcc7e843c44c30475b9519c2a1ed8d6fcef130036 (patch)
treefae5e598e31a2715451ba104850802447ba00603
parentcfb8f18cef8546dd3b4e5ac93986d96b00d6423f (diff)
downloadmutter-cc7e843c44c30475b9519c2a1ed8d6fcef130036.tar.gz
tests: Move clutter-test-utils.[ch] to src/tests
And add the necessary glue so those initialize a X11 clutter backend. This should get Clutter tests that are dependent on windowing to work again, thus they were enabled back again. https://gitlab.gnome.org/GNOME/mutter/merge_requests/672
-rw-r--r--clutter/clutter/clutter-private.h1
-rw-r--r--clutter/clutter/clutter.h1
-rw-r--r--clutter/clutter/meson.build2
-rw-r--r--src/tests/clutter-test-utils.c (renamed from clutter/clutter/clutter-test-utils.c)11
-rw-r--r--src/tests/clutter-test-utils.h (renamed from clutter/clutter/clutter-test-utils.h)29
-rw-r--r--src/tests/clutter/conform/actor-anchors.c2
-rw-r--r--src/tests/clutter/conform/actor-destroy.c2
-rw-r--r--src/tests/clutter/conform/actor-graph.c2
-rw-r--r--src/tests/clutter/conform/actor-invariants.c2
-rw-r--r--src/tests/clutter/conform/actor-iter.c2
-rw-r--r--src/tests/clutter/conform/actor-layout.c2
-rw-r--r--src/tests/clutter/conform/actor-meta.c2
-rw-r--r--src/tests/clutter/conform/actor-offscreen-redirect.c2
-rw-r--r--src/tests/clutter/conform/actor-paint-opacity.c2
-rw-r--r--src/tests/clutter/conform/actor-pick.c2
-rw-r--r--src/tests/clutter/conform/actor-shader-effect.c2
-rw-r--r--src/tests/clutter/conform/actor-size.c2
-rw-r--r--src/tests/clutter/conform/behaviours.c8
-rw-r--r--src/tests/clutter/conform/binding-pool.c2
-rw-r--r--src/tests/clutter/conform/color.c2
-rw-r--r--src/tests/clutter/conform/group.c2
-rw-r--r--src/tests/clutter/conform/interval.c2
-rw-r--r--src/tests/clutter/conform/meson.build4
-rw-r--r--src/tests/clutter/conform/rectangle.c2
-rw-r--r--src/tests/clutter/conform/script-parser.c2
-rw-r--r--src/tests/clutter/conform/text.c2
-rw-r--r--src/tests/clutter/conform/texture.c2
-rw-r--r--src/tests/clutter/conform/units.c2
-rw-r--r--src/tests/meson.build11
29 files changed, 86 insertions, 23 deletions
diff --git a/clutter/clutter/clutter-private.h b/clutter/clutter/clutter-private.h
index 63b8a5e03..ac44edadc 100644
--- a/clutter/clutter/clutter-private.h
+++ b/clutter/clutter/clutter-private.h
@@ -204,6 +204,7 @@ guint _clutter_pixel_to_id (guchar pixel[4]);
void _clutter_id_to_color (guint id,
ClutterColor *col);
+CLUTTER_EXPORT
void _clutter_set_sync_to_vblank (gboolean sync_to_vblank);
/* use this function as the accumulator if you have a signal with
diff --git a/clutter/clutter/clutter.h b/clutter/clutter/clutter.h
index ec846910f..320fdf7e8 100644
--- a/clutter/clutter/clutter.h
+++ b/clutter/clutter/clutter.h
@@ -103,7 +103,6 @@
#include "clutter-stage-manager.h"
#include "clutter-stage-view.h"
#include "clutter-tap-action.h"
-#include "clutter-test-utils.h"
#include "clutter-texture.h"
#include "clutter-text.h"
#include "clutter-timeline.h"
diff --git a/clutter/clutter/meson.build b/clutter/clutter/meson.build
index 7a247632d..44ee1a315 100644
--- a/clutter/clutter/meson.build
+++ b/clutter/clutter/meson.build
@@ -77,7 +77,6 @@ clutter_headers = [
'clutter-stage-manager.h',
'clutter-stage-view.h',
'clutter-tap-action.h',
- 'clutter-test-utils.h',
'clutter-texture.h',
'clutter-text.h',
'clutter-text-buffer.h',
@@ -168,7 +167,6 @@ clutter_sources = [
'clutter-stage-view.c',
'clutter-stage-window.c',
'clutter-tap-action.c',
- 'clutter-test-utils.c',
'clutter-text.c',
'clutter-text-buffer.c',
'clutter-transition-group.c',
diff --git a/clutter/clutter/clutter-test-utils.c b/src/tests/clutter-test-utils.c
index edc413e96..3bd99989e 100644
--- a/clutter/clutter/clutter-test-utils.c
+++ b/src/tests/clutter-test-utils.c
@@ -1,17 +1,8 @@
-#include "clutter-build-config.h"
-
#include "clutter-test-utils.h"
#include <stdlib.h>
#include <glib-object.h>
-
-#include "clutter-actor.h"
-#include "clutter-color.h"
-#include "clutter-event.h"
-#include "clutter-keysyms.h"
-#include "clutter-main.h"
-#include "clutter-private.h"
-#include "clutter-stage.h"
+#include <clutter/clutter.h>
typedef struct {
ClutterActor *stage;
diff --git a/clutter/clutter/clutter-test-utils.h b/src/tests/clutter-test-utils.h
index 6078533c2..1c4be6495 100644
--- a/clutter/clutter/clutter-test-utils.h
+++ b/src/tests/clutter-test-utils.h
@@ -19,16 +19,23 @@
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
+#include "config.h"
+
#ifndef __CLUTTER_TEST_UTILS_H__
#define __CLUTTER_TEST_UTILS_H__
-#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
-#error "Only <clutter/clutter.h> can be included directly."
-#endif
+#define __CLUTTER_H_INSIDE__
-#include <clutter/clutter-types.h>
-#include <clutter/clutter-actor.h>
-#include <clutter/clutter-color.h>
+#include "clutter/clutter-types.h"
+#include "clutter/clutter-actor.h"
+#include "clutter/clutter-color.h"
+#include "clutter/clutter-private.h"
+#include "core/main-private.h"
+#include "meta/common.h"
+#include "meta/main.h"
+#include "backends/x11/nested/meta-backend-x11-nested.h"
+#include "wayland/meta-wayland.h"
+#include "wayland/meta-xwayland.h"
G_BEGIN_DECLS
@@ -79,12 +86,22 @@ 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 ();\
+\
clutter_test_init (&argc, &argv); \
\
{ \
units \
} \
\
+ close (fd);\
+ g_free (display_name);\
return clutter_test_run (); \
}
diff --git a/src/tests/clutter/conform/actor-anchors.c b/src/tests/clutter/conform/actor-anchors.c
index 55395880b..842379818 100644
--- a/src/tests/clutter/conform/actor-anchors.c
+++ b/src/tests/clutter/conform/actor-anchors.c
@@ -4,6 +4,8 @@
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
#include <clutter/clutter.h>
+#include "tests/clutter-test-utils.h"
+
#define NOTIFY_ANCHOR_X (1 << 0)
#define NOTIFY_ANCHOR_Y (1 << 1)
#define NOTIFY_ANCHOR_GRAVITY (1 << 2)
diff --git a/src/tests/clutter/conform/actor-destroy.c b/src/tests/clutter/conform/actor-destroy.c
index 10ad79df7..a0867fb27 100644
--- a/src/tests/clutter/conform/actor-destroy.c
+++ b/src/tests/clutter/conform/actor-destroy.c
@@ -1,6 +1,8 @@
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
#include <clutter/clutter.h>
+#include "tests/clutter-test-utils.h"
+
#define TEST_TYPE_DESTROY (test_destroy_get_type ())
#define TEST_DESTROY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TEST_TYPE_DESTROY, TestDestroy))
#define TEST_IS_DESTROY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TEST_TYPE_DESTROY))
diff --git a/src/tests/clutter/conform/actor-graph.c b/src/tests/clutter/conform/actor-graph.c
index 8fbf4bcb7..b388fe127 100644
--- a/src/tests/clutter/conform/actor-graph.c
+++ b/src/tests/clutter/conform/actor-graph.c
@@ -1,5 +1,7 @@
#include <clutter/clutter.h>
+#include "tests/clutter-test-utils.h"
+
static void
actor_add_child (void)
{
diff --git a/src/tests/clutter/conform/actor-invariants.c b/src/tests/clutter/conform/actor-invariants.c
index 87df90bc1..42dad3a04 100644
--- a/src/tests/clutter/conform/actor-invariants.c
+++ b/src/tests/clutter/conform/actor-invariants.c
@@ -4,6 +4,8 @@
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
#include <clutter/clutter.h>
+#include "tests/clutter-test-utils.h"
+
static void
actor_initial_state (void)
{
diff --git a/src/tests/clutter/conform/actor-iter.c b/src/tests/clutter/conform/actor-iter.c
index 193f63b27..3e963c56a 100644
--- a/src/tests/clutter/conform/actor-iter.c
+++ b/src/tests/clutter/conform/actor-iter.c
@@ -1,6 +1,8 @@
#include <glib.h>
#include <clutter/clutter.h>
+#include "tests/clutter-test-utils.h"
+
static void
actor_iter_traverse_children (void)
{
diff --git a/src/tests/clutter/conform/actor-layout.c b/src/tests/clutter/conform/actor-layout.c
index 2cc89400c..099a279e1 100644
--- a/src/tests/clutter/conform/actor-layout.c
+++ b/src/tests/clutter/conform/actor-layout.c
@@ -1,5 +1,7 @@
#include <clutter/clutter.h>
+#include "tests/clutter-test-utils.h"
+
static void
actor_basic_layout (void)
{
diff --git a/src/tests/clutter/conform/actor-meta.c b/src/tests/clutter/conform/actor-meta.c
index 52a313d22..0211f99ae 100644
--- a/src/tests/clutter/conform/actor-meta.c
+++ b/src/tests/clutter/conform/actor-meta.c
@@ -3,6 +3,8 @@
#include <clutter/clutter.h>
+#include "tests/clutter-test-utils.h"
+
static void
actor_meta_clear (void)
{
diff --git a/src/tests/clutter/conform/actor-offscreen-redirect.c b/src/tests/clutter/conform/actor-offscreen-redirect.c
index 9dbb7d2c5..368e041ad 100644
--- a/src/tests/clutter/conform/actor-offscreen-redirect.c
+++ b/src/tests/clutter/conform/actor-offscreen-redirect.c
@@ -1,6 +1,8 @@
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
#include <clutter/clutter.h>
+#include "tests/clutter-test-utils.h"
+
typedef struct _FooActor FooActor;
typedef struct _FooActorClass FooActorClass;
diff --git a/src/tests/clutter/conform/actor-paint-opacity.c b/src/tests/clutter/conform/actor-paint-opacity.c
index 6df240872..8e0447de9 100644
--- a/src/tests/clutter/conform/actor-paint-opacity.c
+++ b/src/tests/clutter/conform/actor-paint-opacity.c
@@ -1,6 +1,8 @@
#include <clutter/clutter.h>
#include <stdlib.h>
+#include "tests/clutter-test-utils.h"
+
static void
opacity_label (void)
{
diff --git a/src/tests/clutter/conform/actor-pick.c b/src/tests/clutter/conform/actor-pick.c
index 969b4920a..430f8442a 100644
--- a/src/tests/clutter/conform/actor-pick.c
+++ b/src/tests/clutter/conform/actor-pick.c
@@ -1,6 +1,8 @@
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
#include <clutter/clutter.h>
+#include "tests/clutter-test-utils.h"
+
#define STAGE_WIDTH 640
#define STAGE_HEIGHT 480
#define ACTORS_X 12
diff --git a/src/tests/clutter/conform/actor-shader-effect.c b/src/tests/clutter/conform/actor-shader-effect.c
index ac99c5b40..5cbe51f06 100644
--- a/src/tests/clutter/conform/actor-shader-effect.c
+++ b/src/tests/clutter/conform/actor-shader-effect.c
@@ -2,6 +2,8 @@
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
#include <clutter/clutter.h>
+#include "tests/clutter-test-utils.h"
+
/****************************************************************
Old style shader effect
This uses clutter_shader_effect_set_source
diff --git a/src/tests/clutter/conform/actor-size.c b/src/tests/clutter/conform/actor-size.c
index 7245f157d..0d909f028 100644
--- a/src/tests/clutter/conform/actor-size.c
+++ b/src/tests/clutter/conform/actor-size.c
@@ -3,6 +3,8 @@
#include <clutter/clutter.h>
+#include "tests/clutter-test-utils.h"
+
#define TEST_TYPE_ACTOR (test_actor_get_type ())
typedef struct _TestActor TestActor;
diff --git a/src/tests/clutter/conform/behaviours.c b/src/tests/clutter/conform/behaviours.c
index 6c531beff..523477106 100644
--- a/src/tests/clutter/conform/behaviours.c
+++ b/src/tests/clutter/conform/behaviours.c
@@ -1,6 +1,8 @@
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
#include <clutter/clutter.h>
+#include "tests/clutter-test-utils.h"
+
static void
behaviour_opacity (void)
{
@@ -65,6 +67,12 @@ main (int argc, char *argv[])
{
int i;
+ meta_wayland_override_display_name ("mutter-test-display");
+ meta_xwayland_override_display_number (512);
+ meta_override_compositor_configuration (META_COMPOSITOR_TYPE_WAYLAND,
+ META_TYPE_BACKEND_X11_NESTED);
+ meta_init ();
+
clutter_test_init (&argc, &argv);
for (i = 0; i < n_behaviour_tests; i++)
diff --git a/src/tests/clutter/conform/binding-pool.c b/src/tests/clutter/conform/binding-pool.c
index 4e4752b6b..7c9bbc1a1 100644
--- a/src/tests/clutter/conform/binding-pool.c
+++ b/src/tests/clutter/conform/binding-pool.c
@@ -2,6 +2,8 @@
#include <clutter/clutter.h>
+#include "tests/clutter-test-utils.h"
+
#define TYPE_KEY_GROUP (key_group_get_type ())
#define KEY_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_KEY_GROUP, KeyGroup))
#define IS_KEY_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_KEY_GROUP))
diff --git a/src/tests/clutter/conform/color.c b/src/tests/clutter/conform/color.c
index 03ecf3f08..f8a860b32 100644
--- a/src/tests/clutter/conform/color.c
+++ b/src/tests/clutter/conform/color.c
@@ -1,5 +1,7 @@
#include <clutter/clutter.h>
+#include "tests/clutter-test-utils.h"
+
static void
color_hls_roundtrip (void)
{
diff --git a/src/tests/clutter/conform/group.c b/src/tests/clutter/conform/group.c
index 3f7b1fb4b..a1eaf7eb7 100644
--- a/src/tests/clutter/conform/group.c
+++ b/src/tests/clutter/conform/group.c
@@ -1,6 +1,8 @@
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
#include <clutter/clutter.h>
+#include "tests/clutter-test-utils.h"
+
static void
group_depth_sorting (void)
{
diff --git a/src/tests/clutter/conform/interval.c b/src/tests/clutter/conform/interval.c
index 520437894..468f21312 100644
--- a/src/tests/clutter/conform/interval.c
+++ b/src/tests/clutter/conform/interval.c
@@ -1,5 +1,7 @@
#include <clutter/clutter.h>
+#include "tests/clutter-test-utils.h"
+
static void
interval_initial_state (void)
{
diff --git a/src/tests/clutter/conform/meson.build b/src/tests/clutter/conform/meson.build
index 5d0df7acd..6821e8963 100644
--- a/src/tests/clutter/conform/meson.build
+++ b/src/tests/clutter/conform/meson.build
@@ -59,6 +59,7 @@ foreach test : clutter_conform_tests
test_executable = executable('@0@'.format(test),
sources: [
'@0@.c'.format(test),
+ clutter_test_utils,
],
include_directories: clutter_includes,
c_args: clutter_tests_conform_c_args,
@@ -66,7 +67,8 @@ foreach test : clutter_conform_tests
dependencies: [
clutter_deps,
libmutter_clutter_dep,
- libmutter_cogl_path_dep
+ libmutter_cogl_path_dep,
+ libmutter_dep
],
install: false,
)
diff --git a/src/tests/clutter/conform/rectangle.c b/src/tests/clutter/conform/rectangle.c
index 1c09f00b7..588c73a10 100644
--- a/src/tests/clutter/conform/rectangle.c
+++ b/src/tests/clutter/conform/rectangle.c
@@ -1,6 +1,8 @@
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
#include <clutter/clutter.h>
+#include "tests/clutter-test-utils.h"
+
static void
rectangle_set_size (void)
{
diff --git a/src/tests/clutter/conform/script-parser.c b/src/tests/clutter/conform/script-parser.c
index c2e2dbd08..d7fad094a 100644
--- a/src/tests/clutter/conform/script-parser.c
+++ b/src/tests/clutter/conform/script-parser.c
@@ -4,6 +4,8 @@
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
#include <clutter/clutter.h>
+#include "tests/clutter-test-utils.h"
+
#define TEST_TYPE_GROUP (test_group_get_type ())
#define TEST_TYPE_GROUP_META (test_group_meta_get_type ())
diff --git a/src/tests/clutter/conform/text.c b/src/tests/clutter/conform/text.c
index cef99023e..ebe4b7bb1 100644
--- a/src/tests/clutter/conform/text.c
+++ b/src/tests/clutter/conform/text.c
@@ -2,6 +2,8 @@
#include <clutter/clutter.h>
#include <string.h>
+#include "tests/clutter-test-utils.h"
+
typedef struct {
gunichar unichar;
const char bytes[6];
diff --git a/src/tests/clutter/conform/texture.c b/src/tests/clutter/conform/texture.c
index 392fd5c47..3f1160308 100644
--- a/src/tests/clutter/conform/texture.c
+++ b/src/tests/clutter/conform/texture.c
@@ -2,6 +2,8 @@
#include <clutter/clutter.h>
#include <string.h>
+#include "tests/clutter-test-utils.h"
+
static CoglHandle
make_texture (void)
{
diff --git a/src/tests/clutter/conform/units.c b/src/tests/clutter/conform/units.c
index 06bfaf513..bcfb5890d 100644
--- a/src/tests/clutter/conform/units.c
+++ b/src/tests/clutter/conform/units.c
@@ -1,5 +1,7 @@
#include <clutter/clutter.h>
+#include "tests/clutter-test-utils.h"
+
static void
units_cache (void)
{
diff --git a/src/tests/meson.build b/src/tests/meson.build
index 51039d04f..dafe67ff8 100644
--- a/src/tests/meson.build
+++ b/src/tests/meson.build
@@ -1,6 +1,11 @@
-#if have_clutter_tests
-# subdir('clutter')
-#endif
+clutter_test_utils = files (
+ 'clutter-test-utils.c',
+ 'clutter-test-utils.h',
+)
+
+if have_clutter_tests
+ subdir('clutter')
+endif
tests_includepath = mutter_includes
tests_c_args = mutter_c_args