summaryrefslogtreecommitdiff
path: root/unit
diff options
context:
space:
mode:
authorDaniel Wagner <daniel.wagner@bmw-carit.de>2011-08-11 16:56:17 +0200
committerDaniel Wagner <daniel.wagner@bmw-carit.de>2011-08-11 17:40:52 +0200
commit19793e54fe345ea280124b7ccb92ae523eb74096 (patch)
treeef03c87f5c5c4c3902ff6122b460727ab35b63b9 /unit
parentf4cf17a6ee7ffde6a1227c4a1a55d48b37551b9d (diff)
downloadconnman-19793e54fe345ea280124b7ccb92ae523eb74096.tar.gz
connman-19793e54fe345ea280124b7ccb92ae523eb74096.tar.bz2
connman-19793e54fe345ea280124b7ccb92ae523eb74096.zip
unit: Use D-Bus watch for testing ConnMan running
Diffstat (limited to 'unit')
-rw-r--r--unit/test-connman.h1
-rw-r--r--unit/test-session.c30
-rw-r--r--unit/utils.c11
3 files changed, 12 insertions, 30 deletions
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);