summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--telepathy-glib/debug-client.c1
-rw-r--r--tests/dbus/debug-client.c18
2 files changed, 19 insertions, 0 deletions
diff --git a/telepathy-glib/debug-client.c b/telepathy-glib/debug-client.c
index ef6ed2994..113ac3ff3 100644
--- a/telepathy-glib/debug-client.c
+++ b/telepathy-glib/debug-client.c
@@ -475,6 +475,7 @@ get_messages_cb (TpDebugClient *self,
if (error != NULL)
{
DEBUG ("GetMessages() failed: %s", error->message);
+ g_simple_async_result_set_from_error (result, error);
goto out;
}
diff --git a/tests/dbus/debug-client.c b/tests/dbus/debug-client.c
index 5ae3219d2..50d07fae4 100644
--- a/tests/dbus/debug-client.c
+++ b/tests/dbus/debug-client.c
@@ -294,6 +294,22 @@ test_new_debug_message (Test *test,
"new message");
}
+static void
+test_get_messages_failed (Test *test,
+ gconstpointer data G_GNUC_UNUSED)
+{
+ /* Remove debug service */
+ tp_clear_object (&test->sender);
+
+ tp_debug_client_get_messages_async (test->client, get_messages_cb, test);
+
+ test->wait = 1;
+ g_main_loop_run (test->mainloop);
+ g_assert_error (test->error, DBUS_GERROR, DBUS_GERROR_UNKNOWN_METHOD);
+
+ g_assert (test->messages == NULL);
+}
+
int
main (int argc,
char **argv)
@@ -313,6 +329,8 @@ main (int argc,
test_get_messages, teardown);
g_test_add ("/debug-client/new-debug-message", Test, NULL, setup,
test_new_debug_message, teardown);
+ g_test_add ("/debug-client/get-messages-failed", Test, NULL, setup,
+ test_get_messages_failed, teardown);
return g_test_run ();
}