diff options
author | Stefan Walter <stefw@src.gnome.org> | 2007-06-22 21:15:57 +0000 |
---|---|---|
committer | Stefan Walter <stefw@src.gnome.org> | 2007-06-22 21:15:57 +0000 |
commit | a7306b48562074a7f4b092b87acb23d4911d936d (patch) | |
tree | 0d9629b509a450d22cb5b23005653dadac9f01ed /keyrings | |
parent | 68bef74a24e818c5b9f2168fa1d39ea6bff4eac5 (diff) | |
download | gnome-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.c | 25 |
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; } |