commit 998891e7342155f7c0c5839f4c5816ace686134f Author: Esteban Manchado Velázquez emanchado@demiurgo.org Date: Mon Feb 20 22:53:25 2012 +0100
Add unit tests for path_is_relative --- src/test/test_util.c | 37 +++++++++++++++++++++++++++++++++++++ 1 files changed, 37 insertions(+), 0 deletions(-)
diff --git a/src/test/test_util.c b/src/test/test_util.c index e2050f8..741b8d5 100644 --- a/src/test/test_util.c +++ b/src/test/test_util.c @@ -1503,6 +1503,42 @@ test_util_sscanf(void) ; }
+static void +test_util_path_is_relative(void) +{ + /* OS-independent tests */ + test_eq(1, path_is_relative("")); + test_eq(1, path_is_relative("dir")); + test_eq(1, path_is_relative("dir/")); + test_eq(1, path_is_relative("./dir")); + test_eq(1, path_is_relative("../dir")); + + test_eq(0, path_is_relative("/")); + test_eq(0, path_is_relative("/dir")); + test_eq(0, path_is_relative("/dir/")); + + /* Windows */ +#ifdef MS_WINDOWS + /* I don't have Windows so I can't test this, hence the "#ifdef + 0". These are tests that look useful, so please try to get them + running and uncomment if it all works as it should */ +#ifdef 0 + test_eq(1, path_is_relative("dir")); + test_eq(1, path_is_relative("dir\")); + test_eq(1, path_is_relative("dir\a:")); + test_eq(1, path_is_relative("dir\a:\")); + + test_eq(0, path_is_relative("\dir")); + test_eq(0, path_is_relative("a:\dir")); + test_eq(0, path_is_relative("z:\dir")); + test_eq(0, path_is_relative("http:\dir")); +#endif +#endif + + done: + ; +} + /** Run unittests for memory pool allocator */ static void test_util_mempool(void) @@ -2855,6 +2891,7 @@ struct testcase_t util_tests[] = { UTIL_LEGACY(mmap), UTIL_LEGACY(threads), UTIL_LEGACY(sscanf), + UTIL_LEGACY(path_is_relative), UTIL_LEGACY(strtok), UTIL_LEGACY(di_ops), UTIL_TEST(find_str_at_start_of_line, 0),
tor-commits@lists.torproject.org