summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2009-10-29 16:01:44 +0100
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2009-11-03 12:25:02 +0000
commitd948dd18d07e799223057134557312885d0cad42 (patch)
tree96590ef2ce355f71c9958b8fd2b8a729150c7181 /tests
parentb3e65f73b24b69f3c6acd0dd662393259e13fc2d (diff)
merge check-empathy-helpers to test-helper
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am3
-rw-r--r--tests/check-empathy-helpers.c169
-rw-r--r--tests/check-empathy-helpers.h32
-rw-r--r--tests/empathy-chatroom-test.c1
-rw-r--r--tests/empathy-irc-network-manager-test.c1
-rw-r--r--tests/test-helper.c159
-rw-r--r--tests/test-helper.h28
7 files changed, 188 insertions, 205 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 61c6b78db..7821d8d2f 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -42,8 +42,7 @@ empathy_irc_network_test_SOURCES = empathy-irc-network-test.c \
empathy_irc_network_manager_test_SOURCES = empathy-irc-network-manager-test.c \
test-helper.c test-helper.h \
- check-irc-helper.h check-irc-helper.c \
- check-empathy-helpers.h check-empathy-helpers.c
+ check-irc-helper.h check-irc-helper.c
empathy_chatroom_test_SOURCES = empathy-chatroom-test.c \
test-helper.c test-helper.h
diff --git a/tests/check-empathy-helpers.c b/tests/check-empathy-helpers.c
deleted file mode 100644
index 619a1d535..000000000
--- a/tests/check-empathy-helpers.c
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * check-empathy-helpers.c - Source for some check helpers
- * Copyright (C) 2007-2008 Collabora Ltd.
- *
- * 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 <stdio.h>
-#include <stdlib.h>
-
-#include <glib/gstdio.h>
-#include <gconf/gconf.h>
-#include <gconf/gconf-client.h>
-
-#include <telepathy-glib/account-manager.h>
-
-#include "check-empathy-helpers.h"
-
-gchar *
-get_xml_file (const gchar *filename)
-{
- return g_build_filename (g_getenv ("EMPATHY_SRCDIR"), "tests", "xml",
- filename, NULL);
-}
-
-gchar *
-get_user_xml_file (const gchar *filename)
-{
- return g_build_filename (g_get_tmp_dir (), filename, NULL);
-}
-
-void
-copy_xml_file (const gchar *orig,
- const gchar *dest)
-{
- gboolean result;
- gchar *buffer;
- gsize length;
- gchar *sample;
- gchar *file;
-
- sample = get_xml_file (orig);
- result = g_file_get_contents (sample, &buffer, &length, NULL);
- g_assert (result);
-
- file = get_user_xml_file (dest);
- result = g_file_set_contents (file, buffer, length, NULL);
- g_assert (result);
-
- g_free (sample);
- g_free (file);
- g_free (buffer);
-}
-
-#if 0
-EmpathyAccount *
-get_test_account (void)
-{
- McProfile *profile;
- EmpathyAccountManager *account_manager;
- EmpathyAccount *account;
- GList *accounts;
-
- account_manager = empathy_account_manager_dup_singleton ();
- profile = mc_profile_lookup ("test");
- accounts = mc_accounts_list_by_profile (profile);
- if (g_list_length (accounts) == 0)
- {
- /* need to create a test account */
- account = empathy_account_manager_create_by_profile (account_manager,
- profile);
- }
- else
- {
- /* reuse an existing test account */
- McAccount *mc_account;
- mc_account = accounts->data;
- account = empathy_account_manager_lookup (account_manager,
- mc_account_get_unique_name (mc_account));
- }
- g_object_unref (account_manager);
-
- g_object_unref (profile);
-
- return account;
-}
-
-/* Not used for now as there is no API to remove completely gconf keys.
- * So we reuse existing accounts instead of creating new ones */
-void
-destroy_test_account (EmpathyAccount *account)
-{
- GConfClient *client;
- gchar *path;
- GError *error = NULL;
- GSList *entries = NULL, *l;
- EmpathyAccountManager *manager;
-
- client = gconf_client_get_default ();
- path = g_strdup_printf ("/apps/telepathy/mc/accounts/%s",
- empathy_account_get_unique_name (account));
-
- entries = gconf_client_all_entries (client, path, &error);
- if (error != NULL)
- {
- g_print ("failed to list entries in %s: %s\n", path, error->message);
- g_error_free (error);
- error = NULL;
- }
-
- for (l = entries; l != NULL; l = g_slist_next (l))
- {
- GConfEntry *entry = l->data;
-
- if (g_str_has_suffix (entry->key, "data_dir"))
- {
- gchar *dir;
-
- dir = gconf_client_get_string (client, entry->key, &error);
- if (error != NULL)
- {
- g_print ("get data_dir string failed: %s\n", entry->key);
- g_error_free (error);
- error = NULL;
- }
- else
- {
- if (g_rmdir (dir) != 0)
- g_print ("can't remove %s\n", dir);
- }
-
- g_free (dir);
- }
-
- /* FIXME: this doesn't remove the key */
- gconf_client_unset (client, entry->key, &error);
- if (error != NULL)
- {
- g_print ("unset of %s failed: %s\n", path, error->message);
- g_error_free (error);
- error = NULL;
- }
-
- gconf_entry_unref (entry);
- }
-
- g_slist_free (entries);
-
- g_object_unref (client);
- g_free (path);
-
- manager = empathy_account_manager_dup_singleton ();
- empathy_account_manager_remove (manager, account);
- g_object_unref (account);
- g_object_unref (manager);
-}
-#endif
diff --git a/tests/check-empathy-helpers.h b/tests/check-empathy-helpers.h
deleted file mode 100644
index 665e7e256..000000000
--- a/tests/check-empathy-helpers.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * check-empathy-helpers.c - Source for some check helpers
- * Copyright (C) 2007 Collabora Ltd.
- *
- * 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 __CHECK_EMPATHY_HELPERS_H__
-#define __CHECK_EMPATHY_HELPERS_H__
-
-#include <glib.h>
-
-#include <telepathy-glib/account.h>
-
-gchar * get_xml_file (const gchar *filename);
-gchar * get_user_xml_file (const gchar *filename);
-void copy_xml_file (const gchar *orig, const gchar *dest);
-TpAccount * get_test_account (void);
-void destroy_test_account (TpAccount *account);
-
-#endif /* #ifndef __CHECK_EMPATHY_HELPERS_H__ */
diff --git a/tests/empathy-chatroom-test.c b/tests/empathy-chatroom-test.c
index 77d0c29e9..3826411a5 100644
--- a/tests/empathy-chatroom-test.c
+++ b/tests/empathy-chatroom-test.c
@@ -2,7 +2,6 @@
#include <stdio.h>
#include <string.h>
-#include "check-empathy-helpers.h"
#include "test-helper.h"
#include <libempathy/empathy-chatroom.h>
diff --git a/tests/empathy-irc-network-manager-test.c b/tests/empathy-irc-network-manager-test.c
index 274bf00f2..711cdb22c 100644
--- a/tests/empathy-irc-network-manager-test.c
+++ b/tests/empathy-irc-network-manager-test.c
@@ -4,7 +4,6 @@
#include <glib/gstdio.h>
#include "check-irc-helper.h"
-#include "check-empathy-helpers.h"
#include "test-helper.h"
#include <libempathy/empathy-irc-network-manager.h>
diff --git a/tests/test-helper.c b/tests/test-helper.c
index 37fad86eb..8b6cc2937 100644
--- a/tests/test-helper.c
+++ b/tests/test-helper.c
@@ -1,3 +1,22 @@
+/*
+ * test-helper.c - Source for some test helper functions
+ * Copyright (C) 2007-2009 Collabora Ltd.
+ *
+ * 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 <stdlib.h>
#include <glib.h>
#include <glib-object.h>
@@ -17,3 +36,143 @@ test_deinit (void)
{
;
}
+
+gchar *
+get_xml_file (const gchar *filename)
+{
+ return g_build_filename (g_getenv ("EMPATHY_SRCDIR"), "tests", "xml",
+ filename, NULL);
+}
+
+gchar *
+get_user_xml_file (const gchar *filename)
+{
+ return g_build_filename (g_get_tmp_dir (), filename, NULL);
+}
+
+void
+copy_xml_file (const gchar *orig,
+ const gchar *dest)
+{
+ gboolean result;
+ gchar *buffer;
+ gsize length;
+ gchar *sample;
+ gchar *file;
+
+ sample = get_xml_file (orig);
+ result = g_file_get_contents (sample, &buffer, &length, NULL);
+ g_assert (result);
+
+ file = get_user_xml_file (dest);
+ result = g_file_set_contents (file, buffer, length, NULL);
+ g_assert (result);
+
+ g_free (sample);
+ g_free (file);
+ g_free (buffer);
+}
+
+#if 0
+EmpathyAccount *
+get_test_account (void)
+{
+ McProfile *profile;
+ EmpathyAccountManager *account_manager;
+ EmpathyAccount *account;
+ GList *accounts;
+
+ account_manager = empathy_account_manager_dup_singleton ();
+ profile = mc_profile_lookup ("test");
+ accounts = mc_accounts_list_by_profile (profile);
+ if (g_list_length (accounts) == 0)
+ {
+ /* need to create a test account */
+ account = empathy_account_manager_create_by_profile (account_manager,
+ profile);
+ }
+ else
+ {
+ /* reuse an existing test account */
+ McAccount *mc_account;
+ mc_account = accounts->data;
+ account = empathy_account_manager_lookup (account_manager,
+ mc_account_get_unique_name (mc_account));
+ }
+ g_object_unref (account_manager);
+
+ g_object_unref (profile);
+
+ return account;
+}
+
+/* Not used for now as there is no API to remove completely gconf keys.
+ * So we reuse existing accounts instead of creating new ones */
+void
+destroy_test_account (EmpathyAccount *account)
+{
+ GConfClient *client;
+ gchar *path;
+ GError *error = NULL;
+ GSList *entries = NULL, *l;
+ EmpathyAccountManager *manager;
+
+ client = gconf_client_get_default ();
+ path = g_strdup_printf ("/apps/telepathy/mc/accounts/%s",
+ empathy_account_get_unique_name (account));
+
+ entries = gconf_client_all_entries (client, path, &error);
+ if (error != NULL)
+ {
+ g_print ("failed to list entries in %s: %s\n", path, error->message);
+ g_error_free (error);
+ error = NULL;
+ }
+
+ for (l = entries; l != NULL; l = g_slist_next (l))
+ {
+ GConfEntry *entry = l->data;
+
+ if (g_str_has_suffix (entry->key, "data_dir"))
+ {
+ gchar *dir;
+
+ dir = gconf_client_get_string (client, entry->key, &error);
+ if (error != NULL)
+ {
+ g_print ("get data_dir string failed: %s\n", entry->key);
+ g_error_free (error);
+ error = NULL;
+ }
+ else
+ {
+ if (g_rmdir (dir) != 0)
+ g_print ("can't remove %s\n", dir);
+ }
+
+ g_free (dir);
+ }
+
+ /* FIXME: this doesn't remove the key */
+ gconf_client_unset (client, entry->key, &error);
+ if (error != NULL)
+ {
+ g_print ("unset of %s failed: %s\n", path, error->message);
+ g_error_free (error);
+ error = NULL;
+ }
+
+ gconf_entry_unref (entry);
+ }
+
+ g_slist_free (entries);
+
+ g_object_unref (client);
+ g_free (path);
+
+ manager = empathy_account_manager_dup_singleton ();
+ empathy_account_manager_remove (manager, account);
+ g_object_unref (account);
+ g_object_unref (manager);
+}
+#endif
diff --git a/tests/test-helper.h b/tests/test-helper.h
index a2a69b764..67e371edc 100644
--- a/tests/test-helper.h
+++ b/tests/test-helper.h
@@ -1,9 +1,37 @@
+/*
+ * test-helper.h - Header for some test helper functions
+ * Copyright (C) 2007-2009 Collabora Ltd.
+ *
+ * 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 __TEST_HELPER_H__
#define __TEST_HELPER_H__
+#include <telepathy-glib/account.h>
+
void test_init (int argc,
char **argv);
void test_deinit (void);
+gchar * get_xml_file (const gchar *filename);
+gchar * get_user_xml_file (const gchar *filename);
+void copy_xml_file (const gchar *orig, const gchar *dest);
+TpAccount * get_test_account (void);
+void destroy_test_account (TpAccount *account);
+
+
#endif