#include #include "test-conform-common.h" /** * test_conform_simple_fixture_setup: * * Initialise stuff before each test is run */ void test_conform_simple_fixture_setup (TestConformSimpleFixture *fixture, gconstpointer data) { /* const TestConformSharedState *shared_state = data; */ ClutterActor *stage = clutter_stage_get_default (); GList *actors = clutter_container_get_children (CLUTTER_CONTAINER (stage)); GList *tmp; guint paint_handler; guint paint_signal; guint n_paint_handlers = 0; /* To help reduce leakage between unit tests, we destroy all children of the stage */ for (tmp = actors; tmp != NULL; tmp = tmp->next) { ClutterActor *leaked_actor = tmp->data; if (g_test_verbose ()) g_print ("Freeing leaked actor %p\n", leaked_actor); clutter_actor_destroy (leaked_actor); } /* Some of the tests leave the paint signal connected to the default stage which causes problems for subsequent tests. This forcibly disconnects all paint handlers. We can't use g_signal_handlers_disconnect_matched because for some reason that doesn't let you pass just G_SIGNAL_MATCH_ID. */ paint_signal = g_signal_lookup ("paint", CLUTTER_TYPE_ACTOR); while ((paint_handler = g_signal_handler_find (stage, G_SIGNAL_MATCH_ID, paint_signal, 0, NULL, NULL, NULL))) { g_signal_handler_disconnect (stage, paint_handler); n_paint_handlers++; } if (g_test_verbose () && n_paint_handlers > 0) g_print ("Disconnecting %i leaked paint handler%s\n", n_paint_handlers, n_paint_handlers == 1 ? "" : "s"); } /** * test_conform_simple_fixture_teardown: * * Cleanup stuff after each test has finished */ void test_conform_simple_fixture_teardown (TestConformSimpleFixture *fixture, gconstpointer data) { /* const TestConformSharedState *shared_state = data; */ }