From 0ef4e08aac482ff4b0efaa9d42cc1a41af5849ba Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Tue, 7 Jun 2011 15:42:22 +0200 Subject: [PATCH] unit: Add init/cleanup util function --- unit/test-connman.h | 2 ++ unit/utils.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/unit/test-connman.h b/unit/test-connman.h index 6211123..28e37db 100644 --- a/unit/test-connman.h +++ b/unit/test-connman.h @@ -57,6 +57,8 @@ void util_teardown(struct test_fix *fix, gconstpointer data); void util_session_create(struct test_fix *fix, unsigned int max_sessions); void util_session_destroy(gpointer fix); +void util_session_init(struct test_session *session); +void util_session_cleanup(struct test_session *session); typedef void (* notify_cb) (struct test_session *session); diff --git a/unit/utils.c b/unit/utils.c index 3c8eaae..45c78e5 100644 --- a/unit/utils.c +++ b/unit/utils.c @@ -136,3 +136,51 @@ void util_session_destroy(gpointer data) g_free(fix->session); } + +void util_session_init(struct test_session *session) +{ + DBusMessage *msg; + DBusMessageIter iter; + const char *path; + int err; + + err = session_notify_register(session, session->notify_path); + g_assert(err == 0); + + msg = manager_create_session(session->connection, + session->info, + session->notify_path); + g_assert(msg != NULL); + dbus_message_iter_init(msg, &iter); + + dbus_message_iter_get_basic(&iter, &path); + session->session_path = g_strdup(path); + + dbus_message_unref(msg); +} + +void util_session_cleanup(struct test_session *session) +{ + DBusMessage *msg; + int err; + + msg = manager_destroy_session(session->connection, + session->session_path); + g_assert(msg != NULL); + dbus_message_unref(msg); + + err = session_notify_unregister(session, + session->notify_path); + g_assert(err == 0); + + g_free(session->info->bearer); + g_free(session->info->name); + g_free(session->info->interface); + g_slist_foreach(session->info->allowed_bearers, + bearer_info_cleanup, NULL); + g_slist_free(session->info->allowed_bearers); + + session->notify = NULL; + g_free(session->notify_path); + g_free(session->session_path); +} -- 2.7.4