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:
+20
-10
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user