diff options
-rw-r--r-- | telepathy-glib/debug-client.c | 1 | ||||
-rw-r--r-- | tests/dbus/debug-client.c | 18 |
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 (); } |