summaryrefslogtreecommitdiff
path: root/keyrings
diff options
context:
space:
mode:
authorStefan Walter <stefw@src.gnome.org>2007-06-22 21:15:57 +0000
committerStefan Walter <stefw@src.gnome.org>2007-06-22 21:15:57 +0000
commita7306b48562074a7f4b092b87acb23d4911d936d (patch)
tree0d9629b509a450d22cb5b23005653dadac9f01ed /keyrings
parent68bef74a24e818c5b9f2168fa1d39ea6bff4eac5 (diff)
downloadgnome-keyring-a7306b48562074a7f4b092b87acb23d4911d936d.tar.gz
Automatic unit testing on distcheck, modified daemon so it behaves
* configure.in: * Makefile.am: * daemon/gonme-keyring-daemon-dbus.c: * daemon/gnome-keyring-daemon-io.c: * keyrings/gkr-keyrings.c: * tests/Makefile.am: * tests/unit-test-daemon-setup.c: (added) * tests/unit-test-keyrings.c: * tests/unit-test-keyrings-prompt.c: * tests/unit-test-memory.c: * tests/unit-test-other.c: * tests/unit-test-secmem.c: * tests/unit-test-prep.sh: Automatic unit testing on distcheck, modified daemon so it behaves slightly differently (where it creates sockets, keyrings) when testing. svn path=/trunk/; revision=647
Diffstat (limited to 'keyrings')
-rw-r--r--keyrings/gkr-keyrings.c25
1 files changed, 15 insertions, 10 deletions
diff --git a/keyrings/gkr-keyrings.c b/keyrings/gkr-keyrings.c
index a2a3a9b0..38729ded 100644
--- a/keyrings/gkr-keyrings.c
+++ b/keyrings/gkr-keyrings.c
@@ -46,6 +46,7 @@ static GkrKeyring *session_keyring = NULL;
static GkrKeyring *default_keyring = NULL;
static time_t keyring_dir_mtime = 0;
+static gboolean dirs_created = FALSE;
/* -----------------------------------------------------------------------------
* HELPERS
@@ -114,20 +115,24 @@ update_default (void)
gchar*
gkr_keyrings_get_dir (void)
{
- char *dir, *gnome2_dir;
+ gchar *dir = NULL;
- dir = g_build_filename (g_get_home_dir (), ".gnome2/keyrings", NULL);
- if (!g_file_test (dir, G_FILE_TEST_IS_DIR)) {
- gnome2_dir = g_build_filename (g_get_home_dir (), ".gnome2", NULL);
- if (!g_file_test (gnome2_dir, G_FILE_TEST_IS_DIR)) {
- mkdir (gnome2_dir, S_IRWXU);
- }
- g_free (gnome2_dir);
+#ifdef WITH_TESTS
+ const gchar* env = g_getenv ("GNOME_KEYRING_TEST_PATH");
+ if (env && *env)
+ dir = g_build_filename (env, "keyrings", NULL);
+#endif
+
+ if (!dir)
+ dir = g_build_filename (g_get_home_dir (), ".gnome2", "keyrings", NULL);
- if (mkdir (dir, S_IRWXU) < 0) {
+ if (!dirs_created) {
+ if (g_mkdir_with_parents (dir, S_IRWXU) < 0)
g_warning ("unable to create keyring dir");
- }
+ else
+ dirs_created = TRUE;
}
+
return dir;
}