[Telepathy-commits] [telepathy-glib/master] Fix spurious test failures due to moving the zeroing of self_handle.
Will Thompson
will.thompson at collabora.co.uk
Tue Sep 23 10:14:37 PDT 2008
These tests never allowed tp_base_connection_finish_shutdown() to be
called, which lead to an assertion failure when the base connection was
disposed.
---
tests/dbus/connection-getinterfaces-failure.c | 9 +++++++++
tests/dbus/finalized-in-invalidated-handler.c | 12 ++++++++++--
tests/dbus/invalidated-while-invoking-signals.c | 12 ++++++++++--
3 files changed, 29 insertions(+), 4 deletions(-)
diff --git a/tests/dbus/connection-getinterfaces-failure.c b/tests/dbus/connection-getinterfaces-failure.c
index 66b9c94..0feb5a2 100644
--- a/tests/dbus/connection-getinterfaces-failure.c
+++ b/tests/dbus/connection-getinterfaces-failure.c
@@ -76,6 +76,12 @@ on_status_changed (TpConnection *connection,
GObject *weak_object)
{
MYASSERT (status == TP_CONNECTION_STATUS_DISCONNECTED, "%u", status);
+}
+
+static void
+on_shutdown_finished (TpBaseConnection *base_conn,
+ gpointer user_data)
+{
g_main_loop_quit (mainloop);
}
@@ -104,6 +110,9 @@ main (int argc,
MYASSERT (service_conn != NULL, "");
MYASSERT (service_conn_as_base != NULL, "");
+ g_signal_connect (service_conn, "shutdown-finished",
+ G_CALLBACK (on_shutdown_finished), NULL);
+
MYASSERT (tp_base_connection_register (service_conn_as_base, "simple",
&name, &conn_path, &error), "");
MYASSERT_NO_ERROR (error);
diff --git a/tests/dbus/finalized-in-invalidated-handler.c b/tests/dbus/finalized-in-invalidated-handler.c
index ac64ec4..615d225 100644
--- a/tests/dbus/finalized-in-invalidated-handler.c
+++ b/tests/dbus/finalized-in-invalidated-handler.c
@@ -43,8 +43,6 @@ on_invalidated (TpChannel *chan,
MYASSERT (*client == chan, "%p vs %p", *client, chan);
g_object_unref (*client);
*client = NULL;
-
- g_main_loop_quit (mainloop);
}
static gboolean
@@ -55,6 +53,13 @@ disconnect (gpointer data)
return FALSE;
}
+static void
+on_shutdown_finished (TpBaseConnection *base_conn,
+ gpointer user_data)
+{
+ g_main_loop_quit (mainloop);
+}
+
int
main (int argc,
char **argv)
@@ -84,6 +89,9 @@ main (int argc,
MYASSERT (service_conn != NULL, "");
MYASSERT (service_conn_as_base != NULL, "");
+ g_signal_connect (service_conn, "shutdown-finished",
+ G_CALLBACK (on_shutdown_finished), NULL);
+
MYASSERT (tp_base_connection_register (service_conn_as_base, "simple",
&name, &conn_path, &error), "");
MYASSERT_NO_ERROR (error);
diff --git a/tests/dbus/invalidated-while-invoking-signals.c b/tests/dbus/invalidated-while-invoking-signals.c
index 2c1846a..7abe803 100644
--- a/tests/dbus/invalidated-while-invoking-signals.c
+++ b/tests/dbus/invalidated-while-invoking-signals.c
@@ -39,8 +39,6 @@ on_status_changed (TpConnection *connection,
MYASSERT (*client == connection, "%p vs %p", *client, connection);
g_object_unref (*client);
*client = NULL;
-
- g_main_loop_quit (mainloop);
}
static gboolean
@@ -51,6 +49,13 @@ disconnect (gpointer data)
return FALSE;
}
+static void
+on_shutdown_finished (TpBaseConnection *base_conn,
+ gpointer user_data)
+{
+ g_main_loop_quit (mainloop);
+}
+
int
main (int argc,
char **argv)
@@ -75,6 +80,9 @@ main (int argc,
MYASSERT (service != NULL, "");
MYASSERT (service_as_base != NULL, "");
+ g_signal_connect (service, "shutdown-finished",
+ G_CALLBACK (on_shutdown_finished), NULL);
+
MYASSERT (tp_base_connection_register (service_as_base, "simple",
&name, &path, &error), "");
MYASSERT_NO_ERROR (error);
--
1.5.6.5
More information about the Telepathy-commits
mailing list