diff options
Diffstat (limited to 'gdbus/tests/connection.c')
-rw-r--r-- | gdbus/tests/connection.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/gdbus/tests/connection.c b/gdbus/tests/connection.c index f0181d7..5c30959 100644 --- a/gdbus/tests/connection.c +++ b/gdbus/tests/connection.c @@ -100,6 +100,8 @@ test_connection_life_cycle (void) if (!g_dbus_connection_is_closed (c)) _g_assert_signal_received (c, "closed"); g_assert (g_dbus_connection_is_closed (c)); + + _g_object_wait_for_single_ref (c); g_object_unref (c); } @@ -313,6 +315,7 @@ test_connection_send (void) NULL); g_main_loop_run (loop); + _g_object_wait_for_single_ref (c); g_object_unref (c); } @@ -513,14 +516,19 @@ test_connection_signals (void) g_assert_cmpint (count_s2, ==, 2); g_assert_cmpint (count_name_owner_changed, ==, 2); - session_bus_down (); - g_dbus_connection_signal_unsubscribe (c1, s1); g_dbus_connection_signal_unsubscribe (c1, s2); g_dbus_connection_signal_unsubscribe (c1, s3); + + _g_object_wait_for_single_ref (c1); + _g_object_wait_for_single_ref (c2); + _g_object_wait_for_single_ref (c3); + g_object_unref (c1); g_object_unref (c2); g_object_unref (c3); + + session_bus_down (); } /* ---------------------------------------------------------------------------------------------------- */ @@ -560,7 +568,9 @@ test_connection_filter (void) session_bus_up (); - c = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL); + error = NULL; + c = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error); + g_assert_no_error (error); g_assert (c != NULL); filter_id = g_dbus_connection_add_filter (c, @@ -610,7 +620,7 @@ test_connection_filter (void) g_object_unref (r); g_assert_cmpint (data.num_handled, ==, 3); - + _g_object_wait_for_single_ref (c); g_object_unref (c); g_object_unref (m); |