[gnome-keyring] Move gkr_cleanup code into egg component.



commit 6208f071cf6b2b08e0c939104c9981ad9a3505a4
Author: Stef Walter <stef memberwebs com>
Date:   Sun May 10 14:56:19 2009 +0000

    Move gkr_cleanup code into egg component.
    
    Update tests to new style as well.
---
 common/Makefile.am                        |    1 -
 common/gkr-location.c                     |    5 +-
 common/tests/Makefile.am                  |    1 -
 daemon/gkr-daemon-dbus.c                  |    5 +-
 daemon/gkr-daemon-io.c                    |    5 +-
 daemon/gkr-daemon-util.c                  |    7 ++-
 daemon/gkr-daemon.c                       |   10 ++--
 daemon/keyrings/gkr-keyrings.c            |    5 +-
 daemon/pkcs11/gkr-pkcs11-auth.c           |    2 +-
 daemon/pkcs11/gkr-pkcs11-daemon.c         |    9 ++--
 daemon/ui/gkr-ask-daemon.c                |    5 +-
 egg/Makefile.am                           |    1 +
 common/gkr-cleanup.c => egg/egg-cleanup.c |   24 +++++-----
 common/gkr-cleanup.h => egg/egg-cleanup.h |   14 +++---
 egg/tests/Makefile.am                     |    1 +
 {common => egg}/tests/unit-test-cleanup.c |   75 ++++++++++++-----------------
 16 files changed, 80 insertions(+), 90 deletions(-)

diff --git a/common/Makefile.am b/common/Makefile.am
index d5f2991..569c950 100644
--- a/common/Makefile.am
+++ b/common/Makefile.am
@@ -20,7 +20,6 @@ libgkr_common_la_CFLAGS = \
 
 libgkr_common_la_SOURCES = \
 	gkr-async.c gkr-async.h \
-	gkr-cleanup.c gkr-cleanup.h \
 	gkr-location.c gkr-location.h \
 	gkr-location-watch.c gkr-location-watch.h
 
diff --git a/common/gkr-location.c b/common/gkr-location.c
index 703c82c..190b1d9 100644
--- a/common/gkr-location.c
+++ b/common/gkr-location.c
@@ -25,8 +25,7 @@
 
 #include "gkr-location.h"
 
-#include "gkr-cleanup.h"
-
+#include "egg/egg-cleanup.h"
 #include "egg/egg-dbus.h"
 
 #ifdef WITH_HAL
@@ -634,7 +633,7 @@ gkr_location_manager_get (void)
 {
 	if (!location_manager_singleton) {
 		location_manager_singleton = g_object_new (GKR_TYPE_LOCATION_MANAGER, NULL);
-		gkr_cleanup_register (cleanup_location_manager, NULL);
+		egg_cleanup_register (cleanup_location_manager, NULL);
 	}
 	
 	return location_manager_singleton;
diff --git a/common/tests/Makefile.am b/common/tests/Makefile.am
index fbcfe7e..7df5edd 100644
--- a/common/tests/Makefile.am
+++ b/common/tests/Makefile.am
@@ -1,6 +1,5 @@
 UNIT_AUTO = \
 	unit-test-async.c \
-	unit-test-cleanup.c \
 	unit-test-location.c \
 	unit-test-location-watch.c
 
diff --git a/daemon/gkr-daemon-dbus.c b/daemon/gkr-daemon-dbus.c
index e3a64b5..cec4e51 100644
--- a/daemon/gkr-daemon-dbus.c
+++ b/daemon/gkr-daemon-dbus.c
@@ -25,8 +25,7 @@
 #include "gkr-daemon.h"
 #include "gkr-daemon-util.h"
 
-#include "common/gkr-cleanup.h"
-
+#include "egg/egg-cleanup.h"
 #include "egg/egg-dbus.h"
 
 #include "library/gnome-keyring.h"
@@ -413,7 +412,7 @@ gkr_daemon_dbus_setup (void)
 		return;
 	}
 	
-	gkr_cleanup_register (daemon_dbus_cleanup, NULL);
+	egg_cleanup_register (daemon_dbus_cleanup, NULL);
 
 	egg_dbus_connect_with_mainloop (dbus_conn, NULL);
 
diff --git a/daemon/gkr-daemon-io.c b/daemon/gkr-daemon-io.c
index e342658..beef44a 100644
--- a/daemon/gkr-daemon-io.c
+++ b/daemon/gkr-daemon-io.c
@@ -36,8 +36,9 @@
 #include "gkr-daemon-util.h"
 
 #include "common/gkr-async.h"
+
 #include "egg/egg-buffer.h"
-#include "common/gkr-cleanup.h"
+#include "egg/egg-cleanup.h"
 #include "egg/egg-secure-memory.h"
 #include "egg/egg-unix-credentials.h"
 
@@ -408,7 +409,7 @@ gkr_daemon_io_create_master_socket (void)
 		unlink (socket_path);
 #endif
 
-	gkr_cleanup_register (cleanup_socket_dir, NULL);
+	egg_cleanup_register (cleanup_socket_dir, NULL);
 	
 	sock = socket(AF_UNIX, SOCK_STREAM, 0);
 	if (sock < 0) {
diff --git a/daemon/gkr-daemon-util.c b/daemon/gkr-daemon-util.c
index 043897e..4d2f0bf 100644
--- a/daemon/gkr-daemon-util.c
+++ b/daemon/gkr-daemon-util.c
@@ -26,7 +26,8 @@
 #include "gkr-daemon-util.h"
 
 #include "common/gkr-async.h"
-#include "common/gkr-cleanup.h"
+
+#include "egg/egg-cleanup.h"
 
 #include <glib.h>
 
@@ -290,7 +291,7 @@ init_master_directory (void)
 			g_warning ("couldn't create socket directory: %s", g_strerror (errno));
 	}
 	
-	gkr_cleanup_register (uninit_master_directory, NULL);
+	egg_cleanup_register (uninit_master_directory, NULL);
 }
 		
 const gchar*
@@ -322,7 +323,7 @@ init_environment ()
 	if (published_environ)
 		return;
 	published_environ = g_array_new (TRUE, TRUE, sizeof (gchar*)); 
-	gkr_cleanup_register (uninit_environment, NULL);
+	egg_cleanup_register (uninit_environment, NULL);
 }
 
 void
diff --git a/daemon/gkr-daemon.c b/daemon/gkr-daemon.c
index e1ec935..b70a4fe 100644
--- a/daemon/gkr-daemon.c
+++ b/daemon/gkr-daemon.c
@@ -26,8 +26,8 @@
 #include "gkr-daemon-util.h"
 
 #include "common/gkr-async.h"
-#include "common/gkr-cleanup.h"
 
+#include "egg/egg-cleanup.h"
 #include "egg/egg-libgcrypt.h"
 #include "egg/egg-secure-memory.h"
 #include "egg/egg-unix-credentials.h"
@@ -125,7 +125,7 @@ parse_arguments (int *argc, char** argv[])
 	/* Take ownership of the string */
 	if (run_components) {
 		run_components = g_strdup (run_components);
-		gkr_cleanup_register (g_free, run_components);
+		egg_cleanup_register (g_free, run_components);
 	}
 	
 	/* Check the arguments */
@@ -402,7 +402,7 @@ read_login_password (int fd)
 static void
 cleanup_and_exit (int code)
 {
-	gkr_cleanup_perform ();
+	egg_cleanup_perform ();
 	exit (code);
 }
 
@@ -419,7 +419,7 @@ lifetime_slave_pipe_io (GIOChannel  *channel,
 			GIOCondition cond,
 			gpointer     callback_data)
 {
-	gkr_cleanup_perform ();
+	egg_cleanup_perform ();
 	_exit (2);
 	return FALSE;
 }
@@ -768,7 +768,7 @@ main (int argc, char *argv[])
 	gkr_async_workers_stop_all ();
 	
 	/* This wraps everything up in order */
-	gkr_cleanup_perform ();
+	egg_cleanup_perform ();
 	
 	/* Final shutdown of anything workers running about */
 	gkr_async_workers_uninit ();
diff --git a/daemon/keyrings/gkr-keyrings.c b/daemon/keyrings/gkr-keyrings.c
index d7615aa..495f643 100644
--- a/daemon/keyrings/gkr-keyrings.c
+++ b/daemon/keyrings/gkr-keyrings.c
@@ -26,10 +26,11 @@
 
 #include "gkr-keyrings.h"
 
-#include "common/gkr-cleanup.h"
 #include "common/gkr-location.h"
 #include "common/gkr-location-watch.h"
 
+#include "egg/egg-cleanup.h"
+
 #include "library/gnome-keyring-proto.h"
 
 #include <unistd.h>
@@ -200,7 +201,7 @@ keyrings_init (void)
 	g_signal_connect (location_watch, "location-changed", G_CALLBACK (load_keyring), NULL);
 	g_signal_connect (location_watch, "location-removed", G_CALLBACK (remove_keyring), NULL);
 	
-	gkr_cleanup_register (keyrings_cleanup, NULL);
+	egg_cleanup_register (keyrings_cleanup, NULL);
 }
 
 /* -----------------------------------------------------------------------------
diff --git a/daemon/pkcs11/gkr-pkcs11-auth.c b/daemon/pkcs11/gkr-pkcs11-auth.c
index 336234e..3537d27 100644
--- a/daemon/pkcs11/gkr-pkcs11-auth.c
+++ b/daemon/pkcs11/gkr-pkcs11-auth.c
@@ -23,8 +23,8 @@
 
 #include "gkr-pkcs11-auth.h"
 
+#include "egg/egg-cleanup.h"
 #include "egg/egg-secure-memory.h"
-#include "common/gkr-cleanup.h"
 
 #include "keyrings/gkr-keyring-login.h"
 
diff --git a/daemon/pkcs11/gkr-pkcs11-daemon.c b/daemon/pkcs11/gkr-pkcs11-daemon.c
index 38e7cd8..3b4f1a2 100644
--- a/daemon/pkcs11/gkr-pkcs11-daemon.c
+++ b/daemon/pkcs11/gkr-pkcs11-daemon.c
@@ -32,10 +32,11 @@
 #include "pkcs11/user-store/gck-user-store.h"
 
 #include "common/gkr-async.h"
-#include "common/gkr-cleanup.h"
 
 #include "daemon/gkr-daemon-util.h"
 
+#include "egg/egg-cleanup.h"
+
 /*
  * ALL calls into PKCS#11 and anything starting with 'gck'
  * must be concurrent. That is must UNLOCK the demon lock, 
@@ -114,7 +115,7 @@ gkr_pkcs11_daemon_initialize (void)
 		return FALSE;
 	}		
 	
-	gkr_cleanup_register (pkcs11_daemon_cleanup, NULL);
+	egg_cleanup_register (pkcs11_daemon_cleanup, NULL);
 	return TRUE;
 }
 
@@ -166,7 +167,7 @@ gkr_pkcs11_daemon_setup_pkcs11 (void)
 	g_io_add_watch (channel, G_IO_IN | G_IO_HUP, accept_rpc_client, NULL);
 	g_io_channel_unref (channel);
 
-	gkr_cleanup_register (pkcs11_rpc_cleanup, NULL);
+	egg_cleanup_register (pkcs11_rpc_cleanup, NULL);
 
 	return TRUE;
 }
@@ -222,7 +223,7 @@ gkr_pkcs11_daemon_setup_ssh (void)
 	/* gck-ssh-agent sets the environment variable */
 	gkr_daemon_util_push_environment ("SSH_AUTH_SOCK", g_getenv ("SSH_AUTH_SOCK"));
 
-	gkr_cleanup_register (pkcs11_ssh_cleanup, NULL);
+	egg_cleanup_register (pkcs11_ssh_cleanup, NULL);
 
 	return TRUE;
 }
diff --git a/daemon/ui/gkr-ask-daemon.c b/daemon/ui/gkr-ask-daemon.c
index 12b1dec..94b09b4 100644
--- a/daemon/ui/gkr-ask-daemon.c
+++ b/daemon/ui/gkr-ask-daemon.c
@@ -27,10 +27,11 @@
 #include "gkr-ask-request.h"
 
 #include "common/gkr-async.h"
-#include "common/gkr-cleanup.h"
 
 #include "daemon/gkr-daemon-util.h"
 
+#include "egg/egg-cleanup.h"
+
 #include <glib.h>
 
 static gboolean ask_daemon_inited = FALSE;
@@ -65,7 +66,7 @@ ask_daemon_init (void)
 	
 	wait_condition = gkr_async_wait_new ();
 	
-	gkr_cleanup_register (ask_daemon_cleanup, NULL);
+	egg_cleanup_register (ask_daemon_cleanup, NULL);
 }
 
 static gboolean
diff --git a/egg/Makefile.am b/egg/Makefile.am
index 3c429a8..68770d9 100644
--- a/egg/Makefile.am
+++ b/egg/Makefile.am
@@ -21,6 +21,7 @@ libegg_la_CFLAGS = \
 libegg_la_SOURCES = \
 	egg-asn1.c egg-asn1.h \
 	egg-buffer.c egg-buffer.h \
+	egg-cleanup.c egg-cleanup.h \
 	egg-hex.c egg-hex.h \
 	egg-libgcrypt.c egg-libgcrypt.h \
 	egg-oid.c egg-oid.h \
diff --git a/common/gkr-cleanup.c b/egg/egg-cleanup.c
similarity index 81%
rename from common/gkr-cleanup.c
rename to egg/egg-cleanup.c
index 41364d9..943c344 100644
--- a/common/gkr-cleanup.c
+++ b/egg/egg-cleanup.c
@@ -1,5 +1,5 @@
 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* gkr-cleanup.c - for data cleanup at end of program
+/* egg-cleanup.c - for data cleanup at end of program
 
    Copyright (C) 2007 Stefan Walter
 
@@ -21,19 +21,19 @@
    Author: Stef Walter <stef memberwebs com>
 */
 
-#include "gkr-cleanup.h"
+#include "egg-cleanup.h"
 
-typedef struct _GkrCleanup {
+typedef struct _EggCleanup {
 	GDestroyNotify notify;
 	gpointer user_data;
-} GkrCleanup; 
+} EggCleanup;
 
 static GSList *registered_cleanups = NULL;
 
 void    
-gkr_cleanup_register (GDestroyNotify notify, gpointer user_data)
+egg_cleanup_register (GDestroyNotify notify, gpointer user_data)
 {
-	GkrCleanup *cleanup = g_new0 (GkrCleanup, 1);
+	EggCleanup *cleanup = g_new0 (EggCleanup, 1);
 	
 	g_assert (notify);
 	cleanup->notify = notify;
@@ -44,13 +44,13 @@ gkr_cleanup_register (GDestroyNotify notify, gpointer user_data)
 }
 
 void
-gkr_cleanup_unregister (GDestroyNotify notify, gpointer user_data)
+egg_cleanup_unregister (GDestroyNotify notify, gpointer user_data)
 {
-	GkrCleanup *cleanup;
+	EggCleanup *cleanup;
 	GSList *l;
 	
 	for (l = registered_cleanups; l; l = g_slist_next (l)) {
-		cleanup = (GkrCleanup*)l->data;
+		cleanup = (EggCleanup*)l->data;
 		if (cleanup->notify == notify && cleanup->user_data == user_data) {
 			registered_cleanups = g_slist_remove (registered_cleanups, cleanup);
 			break;
@@ -60,10 +60,10 @@ gkr_cleanup_unregister (GDestroyNotify notify, gpointer user_data)
 
 
 void    
-gkr_cleanup_perform (void)
+egg_cleanup_perform (void)
 {
 	GSList *cleanups, *l;
-	GkrCleanup *cleanup;
+	EggCleanup *cleanup;
 	
 	while (registered_cleanups) {
 		
@@ -76,7 +76,7 @@ gkr_cleanup_perform (void)
 		registered_cleanups = NULL;
 		
 		for (l = cleanups; l; l = g_slist_next (l)) {
-			cleanup = (GkrCleanup*)l->data;
+			cleanup = (EggCleanup*)l->data;
 			g_assert (cleanup->notify);
 			
 			(cleanup->notify) (cleanup->user_data);
diff --git a/common/gkr-cleanup.h b/egg/egg-cleanup.h
similarity index 77%
rename from common/gkr-cleanup.h
rename to egg/egg-cleanup.h
index ffa4a56..a347027 100644
--- a/common/gkr-cleanup.h
+++ b/egg/egg-cleanup.h
@@ -1,5 +1,5 @@
 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* gkr-cleanup.h - for data cleanup at end of program
+/* egg-cleanup.h - for data cleanup at end of program
 
    Copyright (C) 2007 Stefan Walter
 
@@ -21,15 +21,15 @@
    Author: Stef Walter <stef memberwebs com>
 */
 
-#ifndef GKRCLEANUP_H_
-#define GKRCLEANUP_H_
+#ifndef EGGCLEANUP_H_
+#define EGGCLEANUP_H_
 
 #include <glib.h>
 
-void    gkr_cleanup_register        (GDestroyNotify notify, gpointer user_data);
+void    egg_cleanup_register        (GDestroyNotify notify, gpointer user_data);
 
-void    gkr_cleanup_unregister      (GDestroyNotify notify, gpointer user_data);
+void    egg_cleanup_unregister      (GDestroyNotify notify, gpointer user_data);
 
-void    gkr_cleanup_perform         (void);
+void    egg_cleanup_perform         (void);
 
-#endif /* GKRCLEANUP_H_ */
+#endif /* EGGCLEANUP_H_ */
diff --git a/egg/tests/Makefile.am b/egg/tests/Makefile.am
index dec508c..f254a25 100644
--- a/egg/tests/Makefile.am
+++ b/egg/tests/Makefile.am
@@ -8,6 +8,7 @@ asn1-def-test.h: test.asn
 # Test files should be listed in order they need to run
 UNIT_AUTO = \
 	unit-test-asn1.c \
+	unit-test-cleanup.c \
 	unit-test-hex.c \
 	unit-test-oid.c \
 	unit-test-secmem.c \
diff --git a/common/tests/unit-test-cleanup.c b/egg/tests/unit-test-cleanup.c
similarity index 60%
rename from common/tests/unit-test-cleanup.c
rename to egg/tests/unit-test-cleanup.c
index e692a1c..43ce642 100644
--- a/common/tests/unit-test-cleanup.c
+++ b/egg/tests/unit-test-cleanup.c
@@ -27,25 +27,11 @@
 
 #include "run-auto-test.h"
 
-#include "common/gkr-cleanup.h"
-
-/* 
- * Each test looks like (on one line):
- *     void unit_test_xxxxx (CuTest* cu)
- * 
- * Each setup looks like (on one line):
- *     void unit_setup_xxxxx (void);
- * 
- * Each teardown looks like (on one line):
- *     void unit_teardown_xxxxx (void);
- * 
- * Tests be run in the order specified here.
- */
- 
+#include "egg/egg-cleanup.h"
+
 #define DATA "some string"
 
 typedef struct _CleanupParam {
-	CuTest *cu;
 	gpointer value;
 } CleanupParam;
 
@@ -53,23 +39,21 @@ static void
 cleanup_callback (gpointer user_data)
 {	
 	CleanupParam *param = (CleanupParam*)user_data;
-	CuAssert (param->cu, "invalid user_data passed to callback", 
-	          param->value && strcmp(param->value, DATA) == 0);
+	g_assert (param->value && strcmp(param->value, DATA) == 0);
 	param->value = NULL;
 }
 
-void unit_test_cleanup (CuTest* cu)
+DEFINE_TEST(cleanup)
 {
 	CleanupParam param;
 	
-	param.cu = cu;
 	param.value = DATA;
 	
-	gkr_cleanup_register (cleanup_callback, &param);
+	egg_cleanup_register (cleanup_callback, &param);
 	
-	gkr_cleanup_perform ();
+	egg_cleanup_perform ();
 	
-	CuAssert (cu, "cleanup handler not called", param.value == NULL);
+	g_assert (param.value == NULL);
 }
 
 /* -----------------------------------------------------------------------------
@@ -79,7 +63,6 @@ void unit_test_cleanup (CuTest* cu)
 static gint order_value = 0;
 
 typedef struct _OrderParam {
-	CuTest *cu;
 	gint reference;
 } OrderParam;
 
@@ -87,30 +70,32 @@ static void
 order_callback (gpointer user_data)
 {	
 	OrderParam *param = (OrderParam*)user_data;
-	CuAssert (param->cu, "cleanup handler called out of order", order_value == param->reference);
+	/* cleanup handler called out of order */
+	g_assert_cmpint (order_value, ==, param->reference);
 	param->reference = -1;
 	--order_value;
 }
- 
-void unit_test_order (CuTest* cu)
+
+DEFINE_TEST(order)
 {
 	OrderParam param[8];
 	int i;
 	
 	for (i = 0; i < 8; ++i) {
-		param[i].cu = cu;
 		param[i].reference = i;	
-		gkr_cleanup_register (order_callback, &param[i]);
+		egg_cleanup_register (order_callback, &param[i]);
 	}
 
 	order_value = i - 1;
 	
-	gkr_cleanup_perform ();
+	egg_cleanup_perform ();
 
 	for (i = 0; i < 8; ++i)
-		CuAssert (cu, "cleanup handler not called", param[i].reference == -1); 
+		/* "cleanup handler not called" */
+		g_assert (param[i].reference == -1);
 	
-	CuAssert (cu, "not all cleanup handlers called", order_value == -1);
+	/* "not all cleanup handlers called" */
+	g_assert_cmpint (order_value, ==, -1);
 }
 
 /* -----------------------------------------------------------------------------
@@ -128,18 +113,19 @@ second_callback (gpointer user_data)
 static void
 reregister_callback (gpointer user_data)
 {
-	gkr_cleanup_register (second_callback, NULL);	
+	egg_cleanup_register (second_callback, NULL);
 } 
 
-void unit_test_reregister (CuTest* cu)
+DEFINE_TEST(reregister)
 {
 	cleaned_up = FALSE;
 	
-	gkr_cleanup_register (reregister_callback, NULL);
+	egg_cleanup_register (reregister_callback, NULL);
 	
-	gkr_cleanup_perform ();
+	egg_cleanup_perform ();
 	
-	CuAssert (cu, "second cleanup handler not called", cleaned_up == TRUE);
+	/* "second cleanup handler not called" */
+	g_assert (cleaned_up == TRUE);
 }
 
 /* -----------------------------------------------------------------------------
@@ -154,13 +140,14 @@ remove_callback (gpointer user_data)
 	test_cleaned_up = TRUE;	
 }
 
-void unit_test_remove (CuTest* cu)
+DEFINE_TEST(remove)
 {
-	gkr_cleanup_register (remove_callback, NULL);
-	gkr_cleanup_register (remove_callback, DATA);
-	gkr_cleanup_unregister (remove_callback, DATA);
-	gkr_cleanup_unregister (remove_callback, NULL);
-	gkr_cleanup_perform ();
+	egg_cleanup_register (remove_callback, NULL);
+	egg_cleanup_register (remove_callback, DATA);
+	egg_cleanup_unregister (remove_callback, DATA);
+	egg_cleanup_unregister (remove_callback, NULL);
+	egg_cleanup_perform ();
 	
-	CuAssert (cu, "removed callback was called", test_cleaned_up == FALSE);		
+	/* "removed callback was called" */
+	g_assert (test_cleaned_up == FALSE);
 }



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