From 3b8f908fa6003d151cdb58b66fa8a27e786d9752 Mon Sep 17 00:00:00 2001 From: "Dirk-Jan C. Binnema" Date: Mon, 25 Jan 2010 13:27:02 +0200 Subject: [PATCH] * tests: add tests for mu_util_dir_expand and mu_util_guess_maildir --- src/mu-util.c | 33 +++++++++-------- src/mu-util.h | 4 +- src/tests/test-util | Bin 19704 -> 21094 bytes src/tests/test-util.c | 84 +++++++++++++++++++++++++++++++++++++++--- 4 files changed, 99 insertions(+), 22 deletions(-) diff --git a/src/mu-util.c b/src/mu-util.c index ef65753b..2642c2ba 100644 --- a/src/mu-util.c +++ b/src/mu-util.c @@ -52,10 +52,9 @@ mu_util_dir_expand (const char *path) return dir; } - - gboolean -mu_util_check_dir (const gchar* path, gboolean readable, gboolean writeable) +mu_util_check_dir (const gchar* path, gboolean readable, + gboolean writeable) { mode_t mode; struct stat statbuf; @@ -66,34 +65,38 @@ mu_util_check_dir (const gchar* path, gboolean readable, gboolean writeable) mode = F_OK | (readable ? R_OK : 0) | (writeable ? W_OK : 0); if (access (path, mode) != 0) { - MU_WRITE_LOG ("Cannot access %s: %s", path, strerror (errno)); + MU_WRITE_LOG ("Cannot access %s: %s", path, + strerror (errno)); return FALSE; } if (stat (path, &statbuf) != 0) { - MU_WRITE_LOG ("Cannot stat %s: %s", path, strerror (errno)); + MU_WRITE_LOG ("Cannot stat %s: %s", path, + strerror (errno)); return FALSE; } - return S_ISDIR(statbuf.st_mode); + return S_ISDIR(statbuf.st_mode) ? TRUE: FALSE; } gchar* mu_util_guess_maildir (void) { - char *dir; - + const gchar *mdir1; + gchar *mdir2; + /* first, try MAILDIR */ - dir = getenv ("MAILDIR"); - if (mu_util_check_dir (dir, TRUE, FALSE)) - return g_strdup (dir); + mdir1 = g_getenv ("MAILDIR"); + if (mdir1 && mu_util_check_dir (mdir1, TRUE, FALSE)) + return g_strdup (mdir1); + /* then, try ~/Maildir */ - dir = mu_util_dir_expand ("~/Maildir"); - if (mu_util_check_dir (dir, TRUE, FALSE)) - return dir; - + mdir2 = mu_util_dir_expand ("~/Maildir"); + if (mu_util_check_dir (mdir2, TRUE, FALSE)) + return mdir2; + /* nope; nothing found */ return NULL; } diff --git a/src/mu-util.h b/src/mu-util.h index ad222207..03516410 100644 --- a/src/mu-util.h +++ b/src/mu-util.h @@ -35,8 +35,8 @@ G_BEGIN_DECLS char* mu_util_dir_expand (const char* path); /** - * guess the maildir; first try MAILDIR, then try ~/Maildir - * if both fail, return NULL + * guess the maildir; first try $MAILDIR; if it is unset or + * non-existant, try ~/Maildir if both fail, return NULL * * @return full path of the guessed Maildir, or NULL; must be freed (gfree) */ diff --git a/src/tests/test-util b/src/tests/test-util index 3d17a81dfd9bda4f209dc8090c36fc2d14dc5c9e..4140bf7efaafb7db7543007cd7d72ae5087a181d 100755 GIT binary patch literal 21094 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 diff --git a/src/tests/test-util.c b/src/tests/test-util.c index 2f5ed7a4..adabb289 100644 --- a/src/tests/test-util.c +++ b/src/tests/test-util.c @@ -23,24 +23,88 @@ #include #include +#include #include "src/mu-util.h" static void -test_mu_util_dir_expand (void) +test_mu_util_dir_expand_01 (void) { gchar *got, *expected; got = mu_util_dir_expand ("~/Desktop"); expected = g_strdup_printf ("%s%cDesktop", getenv("HOME"), G_DIR_SEPARATOR); - + g_assert_cmpstr (got,==,expected); + + g_free (got); + g_free (expected); + +} + +static void +test_mu_util_dir_expand_02 (void) +{ + gchar *got, *expected, *tmp; + + tmp = g_strdup_printf ("~%s/Desktop", getenv("LOGNAME")); + got = mu_util_dir_expand (tmp); + expected = g_strdup_printf ("%s%cDesktop", + getenv("HOME"), G_DIR_SEPARATOR); + + g_assert_cmpstr (got,==,expected); + + g_free (tmp); g_free (got); g_free (expected); } +static void +test_mu_util_guess_maildir_01 (void) +{ + char *got; + const char *expected; + + /* skip the test if there's no /tmp */ + if (access ("/tmp", F_OK)) + return; + + g_setenv ("MAILDIR", "/tmp", TRUE); + + got = mu_util_guess_maildir (); + expected = "/tmp"; + + g_assert_cmpstr (got,==,expected); + g_free (got); +} + + +static void +test_mu_util_guess_maildir_02 (void) +{ + char *got, *mdir; + + g_unsetenv ("MAILDIR"); + + mdir = g_strdup_printf ("%s%cMaildir", + getenv("HOME"), G_DIR_SEPARATOR); + got = mu_util_guess_maildir (); + + if (access (mdir, F_OK) == 0) + g_assert_cmpstr (got, ==, mdir); + else + g_assert_cmpstr (got, == , NULL); + + g_free (got); + g_free (mdir); +} + + + + + static void shutup (void) {} @@ -49,12 +113,22 @@ main (int argc, char *argv[]) { g_test_init (&argc, &argv, NULL); + /* mu_util_dir_expand */ g_test_add_func ("/mu-util/mu-util-dir-expand-01", - test_mu_util_dir_expand); + test_mu_util_dir_expand_01); + g_test_add_func ("/mu-util/mu-util-dir-expand-02", + test_mu_util_dir_expand_02); + /* mu_util_guess_maildir */ + g_test_add_func ("/mu-util/mu-util-guess-maildir-01", + test_mu_util_guess_maildir_01); + g_test_add_func ("/mu-util/mu-util-guess-maildir-02", + test_mu_util_guess_maildir_02); + g_log_set_handler (NULL, - G_LOG_LEVEL_DEBUG|G_LOG_LEVEL_MESSAGE|G_LOG_LEVEL_INFO, - (GLogFunc)shutup, NULL); + G_LOG_LEVEL_DEBUG| + G_LOG_LEVEL_MESSAGE| + G_LOG_LEVEL_INFO, (GLogFunc)shutup, NULL); return g_test_run (); }