summaryrefslogtreecommitdiff
path: root/gdbus/tests/connection.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdbus/tests/connection.c')
-rw-r--r--gdbus/tests/connection.c18
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);