From 19793e54fe345ea280124b7ccb92ae523eb74096 Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Thu, 11 Aug 2011 16:56:17 +0200 Subject: unit: Use D-Bus watch for testing ConnMan running --- unit/test-connman.h | 1 + unit/test-session.c | 30 ------------------------------ unit/utils.c | 11 +++++++++++ 3 files changed, 12 insertions(+), 30 deletions(-) (limited to 'unit') diff --git a/unit/test-connman.h b/unit/test-connman.h index f6514440..fb9f9578 100644 --- a/unit/test-connman.h +++ b/unit/test-connman.h @@ -32,6 +32,7 @@ struct test_fix { GMainLoop *main_loop; DBusConnection *main_connection; + guint watch; /* session test cases */ unsigned int max_sessions; diff --git a/unit/test-session.c b/unit/test-session.c index 07bd3dcb..c626e045 100644 --- a/unit/test-session.c +++ b/unit/test-session.c @@ -53,25 +53,6 @@ static struct test_session *get_session(struct test_session *session, return &session->fix->session[index]; } -static connman_bool_t is_connman_running(DBusConnection *connection) -{ - DBusError error; - connman_bool_t running; - - dbus_error_init(&error); - - running = dbus_bus_name_has_owner(connection, CONNMAN_SERVICE, &error); - - if (dbus_error_is_set(&error) == TRUE) { - fprintf(stderr, "%s\n", error.message); - dbus_error_free(&error); - - return FALSE; - } - - return running; -} - static gboolean test_session_create_no_notify(gpointer data) { struct test_fix *fix = data; @@ -86,7 +67,6 @@ static gboolean test_session_create_no_notify(gpointer data) dbus_message_unref(msg); - g_assert(is_connman_running(fix->session->connection) == TRUE); util_idle_call(fix, util_quit_loop, util_session_destroy); return FALSE; @@ -102,7 +82,6 @@ static gboolean test_session_destroy_no_notify(gpointer data) msg = manager_destroy_session(fix->session->connection, "/foo"); g_assert(msg == NULL); - g_assert(is_connman_running(fix->session->connection) == TRUE); util_idle_call(fix, util_quit_loop, util_session_destroy); return FALSE; @@ -112,7 +91,6 @@ static void test_session_create_notify(struct test_session *session) { LOG("session %p", session); - g_assert(is_connman_running(session->connection) == TRUE); util_idle_call(session->fix, util_quit_loop, util_session_destroy); } @@ -156,7 +134,6 @@ static gboolean test_session_create_destroy(gpointer data) util_session_init(fix->session); util_session_cleanup(fix->session); - g_assert(is_connman_running(session->connection) == TRUE); util_idle_call(fix, util_quit_loop, util_session_destroy); return FALSE; @@ -184,7 +161,6 @@ static gboolean test_session_create_already_exists(gpointer data) util_session_cleanup(session0); - g_assert(is_connman_running(session0->connection) == TRUE); util_idle_call(fix, util_quit_loop, util_session_destroy); return FALSE; @@ -196,8 +172,6 @@ static void test_session_create_many_notify(struct test_session *session) LOG("session %p", session); - g_assert(is_connman_running(session->connection) == TRUE); - nr = GPOINTER_TO_UINT(session->fix->user_data); nr--; session->fix->user_data = GUINT_TO_POINTER(nr); @@ -255,7 +229,6 @@ static void test_session_connect_notify(struct test_session *session) util_session_cleanup(session); - g_assert(is_connman_running(session->connection) == TRUE); util_idle_call(session->fix, util_quit_loop, util_session_destroy); } @@ -290,7 +263,6 @@ static void test_session_disconnect_notify(struct test_session *session) util_session_cleanup(session); - g_assert(is_connman_running(session->connection) == TRUE); util_idle_call(session->fix, util_quit_loop, util_session_destroy); } @@ -329,7 +301,6 @@ static void test_session_connect_disconnect_notify(struct test_session *session) util_session_cleanup(session); - g_assert(is_connman_running(session->connection) == TRUE); util_idle_call(session->fix, util_quit_loop, util_session_destroy); } @@ -421,7 +392,6 @@ static void test_session_connect_free_ride_notify(struct test_session *session) util_session_cleanup(session0); util_session_cleanup(session1); - g_assert(is_connman_running(session0->connection) == TRUE); util_idle_call(session0->fix, util_quit_loop, util_session_destroy); diff --git a/unit/utils.c b/unit/utils.c index 45c78e59..6a174bcc 100644 --- a/unit/utils.c +++ b/unit/utils.c @@ -54,6 +54,11 @@ guint util_idle_call(struct test_fix *fix, GSourceFunc func, return id; } +static void connman_died(DBusConnection *connection, void *user_data) +{ + g_assert(FALSE); +} + guint util_call(struct test_fix *fix, GSourceFunc func, GDestroyNotify notify) { @@ -73,10 +78,16 @@ void util_setup(struct test_fix *fix, gconstpointer data) fix->main_loop = g_main_loop_new(NULL, FALSE); fix->main_connection = g_dbus_setup_private(DBUS_BUS_SYSTEM, NULL, NULL); + fix->watch = g_dbus_add_service_watch(fix->main_connection, + CONNMAN_SERVICE, + NULL, + connman_died, + NULL, NULL); } void util_teardown(struct test_fix *fix, gconstpointer data) { + g_dbus_remove_watch(fix->main_connection, fix->watch); dbus_connection_close(fix->main_connection); dbus_connection_unref(fix->main_connection); -- cgit v1.2.3