Commit 838a2f2918b6d9fad8768d2498575ff5d75c35f0

Edward Thomson 2018-10-07T12:00:48

Merge pull request #4828 from csware/git_futils_rmdir_r_failing Add some more tests for git_futils_rmdir_r and some cleanup

diff --git a/tests/core/rmdir.c b/tests/core/rmdir.c
index 0ec5d61..e00ec5c 100644
--- a/tests/core/rmdir.c
+++ b/tests/core/rmdir.c
@@ -27,10 +27,24 @@ void test_core_rmdir__initialize(void)
 	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 */
@@ -47,9 +61,17 @@ void test_core_rmdir__fail_to_delete_non_empty_dir(void)
 	cl_must_pass(p_unlink(file.ptr));
 	cl_git_pass(git_futils_rmdir_r(empty_tmp_dir, NULL, GIT_RMDIR_EMPTY_HIERARCHY));
 
+	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)
 {
 	git_buf file = GIT_BUF_INIT;