mirror of
https://github.com/brl/mutter.git
synced 2024-11-12 17:27:03 -05:00
tests/conform: Use the clutter stage from mutter
The tests created their own stage, which caused various issues. Lets use the one from mutter instead. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1289
This commit is contained in:
parent
01609de587
commit
007d27fa40
@ -5,8 +5,6 @@
|
|||||||
#include <clutter/clutter.h>
|
#include <clutter/clutter.h>
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
ClutterActor *stage;
|
|
||||||
|
|
||||||
guint no_display : 1;
|
guint no_display : 1;
|
||||||
} ClutterTestEnvironment;
|
} ClutterTestEnvironment;
|
||||||
|
|
||||||
@ -98,18 +96,9 @@ out:
|
|||||||
ClutterActor *
|
ClutterActor *
|
||||||
clutter_test_get_stage (void)
|
clutter_test_get_stage (void)
|
||||||
{
|
{
|
||||||
g_assert (test_environ != NULL);
|
MetaBackend *backend = meta_get_backend ();
|
||||||
|
|
||||||
if (test_environ->stage == NULL)
|
return meta_backend_get_stage (backend);
|
||||||
{
|
|
||||||
/* create a stage, and ensure that it goes away at the end */
|
|
||||||
test_environ->stage = clutter_stage_new ();
|
|
||||||
clutter_actor_set_name (test_environ->stage, "Test Stage");
|
|
||||||
g_object_add_weak_pointer (G_OBJECT (test_environ->stage),
|
|
||||||
(gpointer *) &test_environ->stage);
|
|
||||||
}
|
|
||||||
|
|
||||||
return test_environ->stage;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -122,11 +111,13 @@ static void
|
|||||||
clutter_test_func_wrapper (gconstpointer data_)
|
clutter_test_func_wrapper (gconstpointer data_)
|
||||||
{
|
{
|
||||||
const ClutterTestData *data = data_;
|
const ClutterTestData *data = data_;
|
||||||
|
ClutterActor *stage;
|
||||||
|
|
||||||
g_test_log_set_fatal_handler (log_func, NULL);
|
g_test_log_set_fatal_handler (log_func, NULL);
|
||||||
|
|
||||||
/* ensure that the previous test state has been cleaned up */
|
/* ensure that the previous test state has been cleaned up */
|
||||||
g_assert_null (test_environ->stage);
|
stage = clutter_test_get_stage ();
|
||||||
|
g_assert_false (clutter_actor_is_mapped (stage));
|
||||||
|
|
||||||
if (test_environ->no_display)
|
if (test_environ->no_display)
|
||||||
{
|
{
|
||||||
@ -151,11 +142,8 @@ out:
|
|||||||
if (data->test_notify != NULL)
|
if (data->test_notify != NULL)
|
||||||
data->test_notify (data->test_data);
|
data->test_notify (data->test_data);
|
||||||
|
|
||||||
if (test_environ->stage != NULL)
|
clutter_actor_remove_all_children (stage);
|
||||||
{
|
clutter_actor_hide (stage);
|
||||||
clutter_actor_destroy (test_environ->stage);
|
|
||||||
g_assert_null (test_environ->stage);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -260,7 +260,7 @@ actor_shader_effect (void)
|
|||||||
if (!clutter_feature_available (CLUTTER_FEATURE_SHADERS_GLSL))
|
if (!clutter_feature_available (CLUTTER_FEATURE_SHADERS_GLSL))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
stage = clutter_stage_new ();
|
stage = clutter_test_get_stage ();
|
||||||
|
|
||||||
rect = make_actor (foo_old_shader_effect_get_type ());
|
rect = make_actor (foo_old_shader_effect_get_type ());
|
||||||
clutter_container_add_actor (CLUTTER_CONTAINER (stage), rect);
|
clutter_container_add_actor (CLUTTER_CONTAINER (stage), rect);
|
||||||
|
@ -132,8 +132,11 @@ completed_cb (ClutterTimeline *timeline,
|
|||||||
static void
|
static void
|
||||||
timeline_interpolation (void)
|
timeline_interpolation (void)
|
||||||
{
|
{
|
||||||
|
ClutterActor *stage;
|
||||||
TestState state;
|
TestState state;
|
||||||
|
|
||||||
|
stage = clutter_test_get_stage ();
|
||||||
|
|
||||||
state.timeline =
|
state.timeline =
|
||||||
clutter_timeline_new (TEST_TIMELINE_DURATION);
|
clutter_timeline_new (TEST_TIMELINE_DURATION);
|
||||||
clutter_timeline_set_repeat_count (state.timeline, -1);
|
clutter_timeline_set_repeat_count (state.timeline, -1);
|
||||||
@ -151,6 +154,8 @@ timeline_interpolation (void)
|
|||||||
state.passed = TRUE;
|
state.passed = TRUE;
|
||||||
state.expected_frame = 0;
|
state.expected_frame = 0;
|
||||||
|
|
||||||
|
clutter_actor_show (stage);
|
||||||
|
|
||||||
state.start_time = g_get_real_time ();
|
state.start_time = g_get_real_time ();
|
||||||
clutter_timeline_start (state.timeline);
|
clutter_timeline_start (state.timeline);
|
||||||
|
|
||||||
|
@ -70,8 +70,11 @@ new_frame_cb (ClutterTimeline *timeline,
|
|||||||
static void
|
static void
|
||||||
timeline_rewind (void)
|
timeline_rewind (void)
|
||||||
{
|
{
|
||||||
|
ClutterActor *stage;
|
||||||
TestState state;
|
TestState state;
|
||||||
|
|
||||||
|
stage = clutter_test_get_stage ();
|
||||||
|
|
||||||
state.timeline =
|
state.timeline =
|
||||||
clutter_timeline_new (TEST_TIMELINE_DURATION);
|
clutter_timeline_new (TEST_TIMELINE_DURATION);
|
||||||
g_signal_connect (G_OBJECT(state.timeline),
|
g_signal_connect (G_OBJECT(state.timeline),
|
||||||
@ -85,6 +88,8 @@ timeline_rewind (void)
|
|||||||
&state);
|
&state);
|
||||||
state.rewind_count = 0;
|
state.rewind_count = 0;
|
||||||
|
|
||||||
|
clutter_actor_show (stage);
|
||||||
|
|
||||||
clutter_timeline_start (state.timeline);
|
clutter_timeline_start (state.timeline);
|
||||||
|
|
||||||
clutter_main();
|
clutter_main();
|
||||||
|
@ -184,6 +184,7 @@ delay_cb (gpointer data)
|
|||||||
static void
|
static void
|
||||||
timeline_base (void)
|
timeline_base (void)
|
||||||
{
|
{
|
||||||
|
ClutterActor *stage;
|
||||||
ClutterTimeline *timeline_1;
|
ClutterTimeline *timeline_1;
|
||||||
TimelineData data_1;
|
TimelineData data_1;
|
||||||
ClutterTimeline *timeline_2;
|
ClutterTimeline *timeline_2;
|
||||||
@ -194,6 +195,8 @@ timeline_base (void)
|
|||||||
gsize n_markers;
|
gsize n_markers;
|
||||||
guint delay_tag;
|
guint delay_tag;
|
||||||
|
|
||||||
|
stage = clutter_test_get_stage ();
|
||||||
|
|
||||||
timeline_data_init (&data_1, 1);
|
timeline_data_init (&data_1, 1);
|
||||||
timeline_1 = clutter_timeline_new (FRAME_COUNT * 1000 / FPS);
|
timeline_1 = clutter_timeline_new (FRAME_COUNT * 1000 / FPS);
|
||||||
clutter_timeline_add_marker_at_time (timeline_1, "start-marker",
|
clutter_timeline_add_marker_at_time (timeline_1, "start-marker",
|
||||||
@ -263,6 +266,8 @@ timeline_base (void)
|
|||||||
"completed", G_CALLBACK (timeline_complete_cb),
|
"completed", G_CALLBACK (timeline_complete_cb),
|
||||||
&data_3);
|
&data_3);
|
||||||
|
|
||||||
|
clutter_actor_show (stage);
|
||||||
|
|
||||||
if (!g_test_quiet ())
|
if (!g_test_quiet ())
|
||||||
g_print ("Without delay...\n");
|
g_print ("Without delay...\n");
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user