empathy r1550 - trunk/tests



Author: xclaesse
Date: Mon Oct 13 07:54:09 2008
New Revision: 1550
URL: http://svn.gnome.org/viewvc/empathy?rev=1550&view=rev

Log:
add remove_account_from_gconf to check-helpers

Modified:
   trunk/tests/check-helpers.c
   trunk/tests/check-helpers.h

Modified: trunk/tests/check-helpers.c
==============================================================================
--- trunk/tests/check-helpers.c	(original)
+++ trunk/tests/check-helpers.c	Mon Oct 13 07:54:09 2008
@@ -20,6 +20,10 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+#include <glib/gstdio.h>
+#include <gconf/gconf.h>
+#include <gconf/gconf-client.h>
+
 #include "check-helpers.h"
 
 static gboolean expecting_critical = FALSE;
@@ -97,3 +101,63 @@
   g_free (file);
   g_free (buffer);
 }
+
+void
+remove_account_from_gconf (McAccount *account)
+{
+  GConfClient *client;
+  gchar *path;
+  GError *error = NULL;
+  GSList *entries = NULL, *l;
+
+  client = gconf_client_get_default ();
+  path = g_strdup_printf ("/apps/telepathy/mc/accounts/%s",
+      mc_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);
+            }
+        }
+
+      /* 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_free (entry);
+    }
+
+  g_slist_free (entries);
+
+  g_object_unref (client);
+  g_free (path);
+}

Modified: trunk/tests/check-helpers.h
==============================================================================
--- trunk/tests/check-helpers.h	(original)
+++ trunk/tests/check-helpers.h	Mon Oct 13 07:54:09 2008
@@ -21,6 +21,7 @@
 
 #include <glib.h>
 #include <check.h>
+#include <libmissioncontrol/mc-account.h>
 
 void
 check_helpers_init (void);
@@ -43,5 +44,7 @@
 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);
+void remove_account_from_gconf (McAccount *account);
+
 
 #endif /* #ifndef __CHECK_HELPERS_H__ */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]