[tor-commits] [tor/master] Improve get_parent_directory unit tests

nickm at torproject.org nickm at torproject.org
Fri Mar 9 16:30:59 UTC 2012


commit 22a915bcd21f4dadff11e951099e7b9e15f8ad7f
Author: Esteban Manchado Velázquez <emanchado at demiurgo.org>
Date:   Fri Feb 10 23:33:37 2012 +0100

    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 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/src/test/test_util.c b/src/test/test_util.c
index 4c3a364..e0d3540 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);





More information about the tor-commits mailing list