basic/path-util: allow flags for path_equal_or_files_same

No functional change, just a new parameters and the tests that
AT_SYMLINK_NOFOLLOW works as expected.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2017-06-17 12:37:16 -04:00
parent a1bb2402cb
commit e3f791a2b3
14 changed files with 41 additions and 29 deletions
+20 -10
View File
@@ -118,23 +118,33 @@ static void test_path_equal_root(void) {
/* Make sure that files_same works as expected. */
assert_se(files_same("/", "/") > 0);
assert_se(files_same("/", "//") > 0);
assert_se(files_same("/", "/", 0) > 0);
assert_se(files_same("/", "/", AT_SYMLINK_NOFOLLOW) > 0);
assert_se(files_same("/", "//", 0) > 0);
assert_se(files_same("/", "//", AT_SYMLINK_NOFOLLOW) > 0);
assert_se(files_same("/", "/./") > 0);
assert_se(files_same("/", "/../") > 0);
assert_se(files_same("/", "/./", 0) > 0);
assert_se(files_same("/", "/./", AT_SYMLINK_NOFOLLOW) > 0);
assert_se(files_same("/", "/../", 0) > 0);
assert_se(files_same("/", "/../", AT_SYMLINK_NOFOLLOW) > 0);
assert_se(files_same("/", "/.../") == -ENOENT);
assert_se(files_same("/", "/.../", 0) == -ENOENT);
assert_se(files_same("/", "/.../", AT_SYMLINK_NOFOLLOW) == -ENOENT);
/* The same for path_equal_or_files_same. */
assert_se(path_equal_or_files_same("/", "/"));
assert_se(path_equal_or_files_same("/", "//"));
assert_se(path_equal_or_files_same("/", "/", 0));
assert_se(path_equal_or_files_same("/", "/", AT_SYMLINK_NOFOLLOW));
assert_se(path_equal_or_files_same("/", "//", 0));
assert_se(path_equal_or_files_same("/", "//", AT_SYMLINK_NOFOLLOW));
assert_se(path_equal_or_files_same("/", "/./"));
assert_se(path_equal_or_files_same("/", "/../"));
assert_se(path_equal_or_files_same("/", "/./", 0));
assert_se(path_equal_or_files_same("/", "/./", AT_SYMLINK_NOFOLLOW));
assert_se(path_equal_or_files_same("/", "/../", 0));
assert_se(path_equal_or_files_same("/", "/../", AT_SYMLINK_NOFOLLOW));
assert_se(!path_equal_or_files_same("/", "/.../"));
assert_se(!path_equal_or_files_same("/", "/.../", 0));
assert_se(!path_equal_or_files_same("/", "/.../", AT_SYMLINK_NOFOLLOW));
}
static void test_find_binary(const char *self) {
+4 -2
View File
@@ -38,8 +38,10 @@ static void test_files_same(void) {
assert_se(fd >= 0);
assert_se(symlink(name, name_alias) >= 0);
assert_se(files_same(name, name));
assert_se(files_same(name, name_alias));
assert_se(files_same(name, name, 0));
assert_se(files_same(name, name, AT_SYMLINK_NOFOLLOW));
assert_se(files_same(name, name_alias, 0));
assert_se(!files_same(name, name_alias, AT_SYMLINK_NOFOLLOW));
unlink(name);
unlink(name_alias);