From 22a915bcd21f4dadff11e951099e7b9e15f8ad7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Esteban=20Manchado=20Vel=C3=A1zquez?= Date: Fri, 10 Feb 2012 23:33:37 +0100 Subject: [PATCH] Improve get_parent_directory unit tests * Add more test cases to the get_parent_directory tests * Switch the parameter order so that the expected value is the first one --- src/test/test_util.c | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/src/test/test_util.c b/src/test/test_util.c index 4c3a364eed..e0d3540ae6 100644 --- a/src/test/test_util.c +++ b/src/test/test_util.c @@ -1652,24 +1652,40 @@ test_util_parent_dir(void *ptr) char *cp; (void)ptr; -#define T(input,expect_ok,output) \ +#define T(output,expect_ok,input) \ do { \ int ok; \ cp = tor_strdup(input); \ ok = get_parent_directory(cp); \ - tt_int_op(ok, ==, expect_ok); \ + tt_int_op(expect_ok, ==, ok); \ if (ok==0) \ - tt_str_op(cp, ==, output); \ + tt_str_op(output, ==, cp); \ 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("/home/wombat", 0, "/home/wombat/knish"); + T("/home/wombat", 0, "/home/wombat/knish/"); + T("/home/wombat", 0, "/home/wombat/knish///"); + T("./home/wombat", 0, "./home/wombat/knish/"); + T(".", 0, "./wombat"); + T(".", 0, "./wombat/"); + T(".", 0, "./wombat//"); + T("wombat", 0, "wombat/foo"); + T("wombat/..", 0, "wombat/../foo"); + T("wombat/../", 0, "wombat/..//foo"); /* Is this correct? */ + T("wombat", 0, "wombat/..//"); + T("wombat", 0, "wombat/foo/"); + T("wombat", 0, "wombat/.foo"); + T("wombat", 0, "wombat/.foo/"); + T("", -1, ""); - T("/", -1, ""); - T("////", -1, ""); + T("", -1, "."); + T("", -1, ".."); + T("", -1, "../"); + T("", -1, "/"); + T("", -1, "////"); + T("", -1, "wombat"); + T("", -1, "wombat/"); done: tor_free(cp);