test-copy: allow copy from symlinked dir
authorAdrian Szyndela <adrian.s@samsung.com>
Mon, 30 Mar 2020 07:26:14 +0000 (09:26 +0200)
committerŁukasz Stelmach <l.stelmach@samsung.com>
Thu, 25 Jan 2024 13:06:22 +0000 (14:06 +0100)
src/test/test-copy.c

index 68905c6..37ab708 100644 (file)
@@ -78,8 +78,9 @@ static void test_copy_file_fd(void) {
 }
 
 static void test_copy_tree(void) {
-        char original_dir[] = "/var/tmp/test-copy_tree/";
+        char path_original_dir[] = "/var/tmp/test-copy_tree/";
         char copy_dir[] = "/var/tmp/test-copy_tree-copy/";
+        _cleanup_free_ char *original_dir = NULL;
         char **files = STRV_MAKE("file", "dir1/file", "dir1/dir2/file", "dir1/dir2/dir3/dir4/dir5/file");
         char **links = STRV_MAKE("link", "file",
                                  "link2", "dir1/file");
@@ -91,6 +92,9 @@ static void test_copy_tree(void) {
 
         log_info("%s", __func__);
 
+        assert_se(chase_symlinks(path_original_dir, NULL, CHASE_NONEXISTENT, &original_dir, NULL) >= 0);
+        assert_se(strextend(&original_dir, "/", NULL));
+
         (void) rm_rf(copy_dir, REMOVE_ROOT|REMOVE_PHYSICAL);
         (void) rm_rf(original_dir, REMOVE_ROOT|REMOVE_PHYSICAL);