diff options
author | Nick Mathewson <nickm@torproject.org> | 2011-05-15 20:20:36 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2011-05-15 20:20:36 -0400 |
commit | ede102fd4675af8ac4060767f0348f3c93617e80 (patch) | |
tree | 29f2e5a044c793c55dbcb834822ac9075a23c530 /src/test/test_util.c | |
parent | 2b9c5ee301f705cbf69c725ca749d4ac752c06d3 (diff) | |
parent | f72e792be5437c9ee11d3f498ed3bb469b46d1bb (diff) | |
download | tor-ede102fd4675af8ac4060767f0348f3c93617e80.tar.gz tor-ede102fd4675af8ac4060767f0348f3c93617e80.zip |
Merge branch 'bug2972' into maint-0.2.2
Diffstat (limited to 'src/test/test_util.c')
-rw-r--r-- | src/test/test_util.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test/test_util.c b/src/test/test_util.c index 0da45df499..23cd059cf7 100644 --- a/src/test/test_util.c +++ b/src/test/test_util.c @@ -1195,6 +1195,35 @@ test_util_listdir(void *ptr) } } +static void +test_util_parent_dir(void *ptr) +{ + char *cp; + (void)ptr; + +#define T(input,expect_ok,output) \ + do { \ + int ok; \ + cp = tor_strdup(input); \ + ok = get_parent_directory(cp); \ + tt_int_op(ok, ==, expect_ok); \ + if (ok==0) \ + tt_str_op(cp, ==, output); \ + tor_free(cp); \ + } while (0); + + T("/home/wombat/knish", 0, "/home/wombat"); + T("/home/wombat/knish/", 0, "/home/wombat"); + T("./home/wombat/knish/", 0, "./home/wombat"); + T("./wombat", 0, "."); + T("", -1, ""); + T("/", -1, ""); + T("////", -1, ""); + + done: + tor_free(cp); +} + #ifdef MS_WINDOWS static void test_util_load_win_lib(void *ptr) @@ -1286,6 +1315,7 @@ struct testcase_t util_tests[] = { UTIL_TEST(find_str_at_start_of_line, 0), UTIL_TEST(asprintf, 0), UTIL_TEST(listdir, 0), + UTIL_TEST(parent_dir, 0), #ifdef MS_WINDOWS UTIL_TEST(load_win_lib, 0), #endif |