[Telepathy-commits] [telepathy-glib/master] tests: call tp_get_bus() earlier, to initialize specialized types

Simon McVittie simon.mcvittie at collabora.co.uk
Wed Jan 28 02:27:29 PST 2009


Instantiating a DBusGConnection (which is done by tp_get_bus()) is
the only safe way to ensure that dbus-glib is initialized (see
fd.o #13908 for why dbus_g_type_specialized_init() isn't safe).
In principle, we need to do this initialization before creating
TpBaseConnection subclasses.

Previously, this was coincidentally avoided because Connection
didn't actually use any specialized types, but the ConnectionError
signal that will be in the next spec release introduces a
specialized type.

Mitigating factor: connection managers should all be using
tp_run_connection_manager(), which already calls tp_get_bus().
---
 tests/dbus/channel-introspect.c                 |    2 +-
 tests/dbus/cli-group.c                          |    2 +-
 tests/dbus/connection-getinterfaces-failure.c   |    2 +-
 tests/dbus/finalized-in-invalidated-handler.c   |    2 +-
 tests/dbus/group-mixin.c                        |    2 +-
 tests/dbus/invalidated-while-invoking-signals.c |    2 +-
 tests/dbus/message-mixin.c                      |    2 +-
 tests/dbus/text-mixin.c                         |    2 +-
 tests/dbus/text-respawn.c                       |    2 +-
 9 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/tests/dbus/channel-introspect.c b/tests/dbus/channel-introspect.c
index 01ae92c..8cf1f21 100644
--- a/tests/dbus/channel-introspect.c
+++ b/tests/dbus/channel-introspect.c
@@ -118,6 +118,7 @@ main (int argc,
 
   g_type_init ();
   tp_debug_set_flags ("all");
+  dbus = tp_dbus_daemon_new (tp_get_bus ());
 
   service_conn = SIMPLE_CONNECTION (g_object_new (SIMPLE_TYPE_CONNECTION,
         "account", "me at example.com",
@@ -131,7 +132,6 @@ main (int argc,
         &name, &conn_path, &error), "");
   MYASSERT_NO_ERROR (error);
 
-  dbus = tp_dbus_daemon_new (tp_get_bus ());
   conn = tp_connection_new (dbus, name, conn_path, &error);
   MYASSERT (conn != NULL, "");
   MYASSERT_NO_ERROR (error);
diff --git a/tests/dbus/cli-group.c b/tests/dbus/cli-group.c
index 6dd454f..1095643 100644
--- a/tests/dbus/cli-group.c
+++ b/tests/dbus/cli-group.c
@@ -411,6 +411,7 @@ main (int argc,
 
   g_type_init ();
   tp_debug_set_flags ("all");
+  dbus = tp_dbus_daemon_new (tp_get_bus ());
 
   service_conn = SIMPLE_CONNECTION (g_object_new (SIMPLE_TYPE_CONNECTION,
         "account", "me at example.com",
@@ -424,7 +425,6 @@ main (int argc,
         &name, &conn_path, &error), "");
   MYASSERT_NO_ERROR (error);
 
-  dbus = tp_dbus_daemon_new (tp_get_bus ());
   conn = tp_connection_new (dbus, name, conn_path, &error);
   MYASSERT (conn != NULL, "");
   MYASSERT_NO_ERROR (error);
diff --git a/tests/dbus/connection-getinterfaces-failure.c b/tests/dbus/connection-getinterfaces-failure.c
index 0feb5a2..7edca2a 100644
--- a/tests/dbus/connection-getinterfaces-failure.c
+++ b/tests/dbus/connection-getinterfaces-failure.c
@@ -100,6 +100,7 @@ main (int argc,
   g_type_init ();
   tp_debug_set_flags ("all");
   mainloop = g_main_loop_new (NULL, FALSE);
+  dbus = tp_dbus_daemon_new (tp_get_bus ());
 
   service_conn = SIMPLE_CONNECTION (g_object_new (
         bug15306_connection_get_type (),
@@ -117,7 +118,6 @@ main (int argc,
         &name, &conn_path, &error), "");
   MYASSERT_NO_ERROR (error);
 
-  dbus = tp_dbus_daemon_new (tp_get_bus ());
   conn = tp_connection_new (dbus, name, conn_path, &error);
   MYASSERT (conn != NULL, "");
   MYASSERT_NO_ERROR (error);
diff --git a/tests/dbus/finalized-in-invalidated-handler.c b/tests/dbus/finalized-in-invalidated-handler.c
index 615d225..0ee16e5 100644
--- a/tests/dbus/finalized-in-invalidated-handler.c
+++ b/tests/dbus/finalized-in-invalidated-handler.c
@@ -80,6 +80,7 @@ main (int argc,
   g_type_init ();
   tp_debug_set_flags ("all");
   mainloop = g_main_loop_new (NULL, FALSE);
+  dbus = tp_dbus_daemon_new (tp_get_bus ());
 
   service_conn = SIMPLE_CONNECTION (g_object_new (SIMPLE_TYPE_CONNECTION,
         "account", "me at example.com",
@@ -96,7 +97,6 @@ main (int argc,
         &name, &conn_path, &error), "");
   MYASSERT_NO_ERROR (error);
 
-  dbus = tp_dbus_daemon_new (tp_get_bus ());
   conn = tp_connection_new (dbus, name, conn_path, &error);
   MYASSERT (conn != NULL, "");
   MYASSERT_NO_ERROR (error);
diff --git a/tests/dbus/group-mixin.c b/tests/dbus/group-mixin.c
index 53871a1..5bbbfb9 100644
--- a/tests/dbus/group-mixin.c
+++ b/tests/dbus/group-mixin.c
@@ -544,6 +544,7 @@ main (int argc,
 
   g_type_init ();
   tp_debug_set_flags ("all");
+  dbus = tp_dbus_daemon_new (tp_get_bus ());
 
   service_conn = SIMPLE_CONNECTION (g_object_new (SIMPLE_TYPE_CONNECTION,
         "account", "me at example.com",
@@ -557,7 +558,6 @@ main (int argc,
         &name, &conn_path, &error), "");
   MYASSERT_NO_ERROR (error);
 
-  dbus = tp_dbus_daemon_new (tp_get_bus ());
   conn = tp_connection_new (dbus, name, conn_path, &error);
   MYASSERT (conn != NULL, "");
   MYASSERT_NO_ERROR (error);
diff --git a/tests/dbus/invalidated-while-invoking-signals.c b/tests/dbus/invalidated-while-invoking-signals.c
index 7abe803..b7c18a7 100644
--- a/tests/dbus/invalidated-while-invoking-signals.c
+++ b/tests/dbus/invalidated-while-invoking-signals.c
@@ -71,6 +71,7 @@ main (int argc,
   g_type_init ();
   tp_debug_set_flags ("all");
   mainloop = g_main_loop_new (NULL, FALSE);
+  dbus = tp_dbus_daemon_new (tp_get_bus ());
 
   service = SIMPLE_CONNECTION (g_object_new (SIMPLE_TYPE_CONNECTION,
         "account", "me at example.com",
@@ -87,7 +88,6 @@ main (int argc,
         &name, &path, &error), "");
   MYASSERT_NO_ERROR (error);
 
-  dbus = tp_dbus_daemon_new (tp_get_bus ());
   client = tp_connection_new (dbus, name, path, &error);
   MYASSERT (client != NULL, "");
   MYASSERT_NO_ERROR (error);
diff --git a/tests/dbus/message-mixin.c b/tests/dbus/message-mixin.c
index c2cb300..b7d6f79 100644
--- a/tests/dbus/message-mixin.c
+++ b/tests/dbus/message-mixin.c
@@ -240,6 +240,7 @@ main (int argc,
 
   g_type_init ();
   tp_debug_set_flags ("all");
+  dbus = tp_dbus_daemon_new (tp_get_bus ());
 
   service_conn = EXAMPLE_ECHO_2_CONNECTION (g_object_new (
         EXAMPLE_TYPE_ECHO_2_CONNECTION,
@@ -254,7 +255,6 @@ main (int argc,
         &name, &conn_path, &error), "");
   MYASSERT_NO_ERROR (error);
 
-  dbus = tp_dbus_daemon_new (tp_get_bus ());
   conn = tp_connection_new (dbus, name, conn_path, &error);
   MYASSERT (conn != NULL, "");
   MYASSERT_NO_ERROR (error);
diff --git a/tests/dbus/text-mixin.c b/tests/dbus/text-mixin.c
index 7e4bd2e..a032d24 100644
--- a/tests/dbus/text-mixin.c
+++ b/tests/dbus/text-mixin.c
@@ -101,6 +101,7 @@ main (int argc,
 
   g_type_init ();
   /* tp_debug_set_flags ("all"); */
+  dbus = tp_dbus_daemon_new (tp_get_bus ());
 
   service_conn = EXAMPLE_ECHO_CONNECTION (g_object_new (
         EXAMPLE_TYPE_ECHO_CONNECTION,
@@ -115,7 +116,6 @@ main (int argc,
         &name, &conn_path, &error), "");
   MYASSERT_NO_ERROR (error);
 
-  dbus = tp_dbus_daemon_new (tp_get_bus ());
   conn = tp_connection_new (dbus, name, conn_path, &error);
   MYASSERT (conn != NULL, "");
   MYASSERT_NO_ERROR (error);
diff --git a/tests/dbus/text-respawn.c b/tests/dbus/text-respawn.c
index f040457..f2b5ee8 100644
--- a/tests/dbus/text-respawn.c
+++ b/tests/dbus/text-respawn.c
@@ -103,6 +103,7 @@ main (int argc,
 
   g_type_init ();
   /* tp_debug_set_flags ("all"); */
+  dbus = tp_dbus_daemon_new (tp_get_bus ());
 
   service_conn = EXAMPLE_ECHO_CONNECTION (g_object_new (
         EXAMPLE_TYPE_ECHO_CONNECTION,
@@ -117,7 +118,6 @@ main (int argc,
         &name, &conn_path, &error), "");
   MYASSERT_NO_ERROR (error);
 
-  dbus = tp_dbus_daemon_new (tp_get_bus ());
   conn = tp_connection_new (dbus, name, conn_path, &error);
   MYASSERT (conn != NULL, "");
   MYASSERT_NO_ERROR (error);
-- 
1.5.6.5




More information about the telepathy-commits mailing list