mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-30 23:53:32 +01:00
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
This commit is contained in:
parent
275b81ec5d
commit
22a915bcd2
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user