telepathy-logger: add logger-test-helper.c
Guillaume Desmottes
gdesmott at kemper.freedesktop.org
Fri Sep 27 04:44:19 PDT 2013
Module: telepathy-logger
Branch: master
Commit: 56bdbb0183c507acefd2c673d14509a54ebfddd2
URL: http://cgit.freedesktop.org/telepathy/telepathy-logger/commit/?id=56bdbb0183c507acefd2c673d14509a54ebfddd2
Author: Guillaume Desmottes <guillaume.desmottes at collabora.co.uk>
Date: Thu Sep 26 16:46:50 2013 +0200
add logger-test-helper.c
Introduce a new helper file to contain logger test specific helper functions.
Add helper function to register and prepare accounts.
https://bugs.freedesktop.org/show_bug.cgi?id=69814
---
tests/lib/Makefile.am | 4 ++-
tests/lib/logger-test-helper.c | 64 ++++++++++++++++++++++++++++++++++++++++
tests/lib/logger-test-helper.h | 38 +++++++++++++++++++++++
3 files changed, 105 insertions(+), 1 deletions(-)
diff --git a/tests/lib/Makefile.am b/tests/lib/Makefile.am
index 0f7fc28..5a3b35d 100644
--- a/tests/lib/Makefile.am
+++ b/tests/lib/Makefile.am
@@ -16,7 +16,9 @@ libtp_logger_tests_la_SOURCES = \
textchan-null.c \
textchan-null.h \
util.c \
- util.h
+ util.h \
+ logger-test-helper.c \
+ logger-test-helper.h
check_c_sources = *.c
include $(top_srcdir)/tools/check-coding-style.mk
diff --git a/tests/lib/logger-test-helper.c b/tests/lib/logger-test-helper.c
new file mode 100644
index 0000000..ecba2ef
--- /dev/null
+++ b/tests/lib/logger-test-helper.c
@@ -0,0 +1,64 @@
+/*
+ * logger-test-helper.c
+ *
+ * Copyright (C) 2013 Collabora Ltd. <http://www.collabora.co.uk/>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <config.h>
+
+#include "logger-test-helper.h"
+
+#include "util.h"
+
+void
+tpl_test_create_and_prepare_account (TpDBusDaemon *dbus,
+ TpSimpleClientFactory *factory,
+ const gchar *path,
+ TpAccount **account,
+ TpTestsSimpleAccount **account_service)
+{
+ GError *error = NULL;
+ GArray *features;
+ GQuark zero = 0;
+
+ *account_service = g_object_new (TP_TESTS_TYPE_SIMPLE_ACCOUNT,
+ NULL);
+ g_assert (*account_service != NULL);
+
+ tp_dbus_daemon_register_object (dbus, path, *account_service);
+
+ *account = tp_simple_client_factory_ensure_account (factory, path, NULL,
+ &error);
+ g_assert_no_error (error);
+ g_assert (*account != NULL);
+
+ features = tp_simple_client_factory_dup_account_features (factory, *account);
+ g_array_append_val (features, zero);
+
+ tp_tests_proxy_run_until_prepared (*account, (GQuark *) features->data);
+ g_array_free (features, FALSE);
+}
+
+void
+tpl_test_release_account (TpDBusDaemon *dbus,
+ TpAccount *account,
+ TpTestsSimpleAccount *account_service)
+{
+ tp_dbus_daemon_unregister_object (dbus, account_service);
+ g_object_unref (account_service);
+ g_object_unref (account);
+}
diff --git a/tests/lib/logger-test-helper.h b/tests/lib/logger-test-helper.h
new file mode 100644
index 0000000..8464e13
--- /dev/null
+++ b/tests/lib/logger-test-helper.h
@@ -0,0 +1,38 @@
+/*
+ * logger-test-helper.h
+ *
+ * Copyright (C) 2013 Collabora Ltd. <http://www.collabora.co.uk/>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef __LOGGER_TEST_HELPER_H__
+#define __LOGGER_TEST_HELPER_H__
+
+#include <telepathy-glib/telepathy-glib.h>
+
+#include "simple-account.h"
+
+void tpl_test_create_and_prepare_account (TpDBusDaemon *dbus,
+ TpSimpleClientFactory *factory,
+ const gchar *path,
+ TpAccount **account,
+ TpTestsSimpleAccount **account_service);
+
+void tpl_test_release_account (TpDBusDaemon *dbus,
+ TpAccount *account,
+ TpTestsSimpleAccount *account_service);
+
+#endif
More information about the telepathy-commits
mailing list