#include "clar_libgit2.h"
-#include "fileops.h"
+#include "futils.h"
static const char *empty_tmp_dir = "test_gitfo_rmdir_recurs_test";
cl_git_pass(git_buf_joinpath(&path, empty_tmp_dir, "/two"));
cl_must_pass(p_mkdir(path.ptr, 0777));
- git_buf_free(&path);
+ git_buf_dispose(&path);
+}
+
+void test_core_rmdir__cleanup(void)
+{
+ if (git_path_exists(empty_tmp_dir))
+ cl_git_pass(git_futils_rmdir_r(empty_tmp_dir, NULL, GIT_RMDIR_REMOVE_FILES));
}
/* make sure empty dir can be deleted recusively */
void test_core_rmdir__delete_recursive(void)
{
+ git_buf path = GIT_BUF_INIT;
+ cl_git_pass(git_buf_joinpath(&path, empty_tmp_dir, "/one"));
+ cl_assert(git_path_exists(git_buf_cstr(&path)));
+
cl_git_pass(git_futils_rmdir_r(empty_tmp_dir, NULL, GIT_RMDIR_EMPTY_HIERARCHY));
+
+ cl_assert(!git_path_exists(git_buf_cstr(&path)));
+
+ git_buf_dispose(&path);
}
/* make sure non-empty dir cannot be deleted recusively */
cl_must_pass(p_unlink(file.ptr));
cl_git_pass(git_futils_rmdir_r(empty_tmp_dir, NULL, GIT_RMDIR_EMPTY_HIERARCHY));
- git_buf_free(&file);
+ cl_assert(!git_path_exists(empty_tmp_dir));
+
+ git_buf_dispose(&file);
+}
+
+void test_core_rmdir__keep_base(void)
+{
+ cl_git_pass(git_futils_rmdir_r(empty_tmp_dir, NULL, GIT_RMDIR_SKIP_ROOT));
+ cl_assert(git_path_exists(empty_tmp_dir));
}
void test_core_rmdir__can_skip_non_empty_dir(void)
cl_git_pass(git_futils_rmdir_r(empty_tmp_dir, NULL, GIT_RMDIR_REMOVE_FILES));
cl_assert(git_path_exists(empty_tmp_dir) == false);
- git_buf_free(&file);
+ git_buf_dispose(&file);
}
void test_core_rmdir__can_remove_empty_parents(void)
cl_assert(git_path_exists(empty_tmp_dir) == true);
- git_buf_free(&file);
+ git_buf_dispose(&file);
cl_git_pass(git_futils_rmdir_r(empty_tmp_dir, NULL, GIT_RMDIR_EMPTY_HIERARCHY));
}