Commit 998891e7 authored by Esteban Manchado Velázquez's avatar Esteban Manchado Velázquez Committed by Nick Mathewson
Browse files

Add unit tests for path_is_relative

parent dbd170f7
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
@@ -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),