Commit def644e4 by lhchavez

Add a test

parent db535d0a
......@@ -125,3 +125,43 @@ void test_pack_indexer__fix_thin(void)
git_indexer_free(idx);
}
}
static int find_tmp_file_recurs(void *opaque, git_buf *path)
{
int error = 0;
git_buf *first_tmp_file = opaque;
struct stat st;
if ((error = p_lstat_posixly(path->ptr, &st)) < 0)
return error;
if (S_ISDIR(st.st_mode))
return git_path_direach(path, 0, find_tmp_file_recurs, opaque);
/* This is the template that's used in git_futils_mktmp. */
if (strstr(git_buf_cstr(path), "_git2_") != NULL)
return git_buf_sets(first_tmp_file, git_buf_cstr(path));
return 0;
}
void test_pack_indexer__no_tmp_files(void)
{
git_indexer *idx = NULL;
git_buf path = GIT_BUF_INIT;
git_buf first_tmp_file = GIT_BUF_INIT;
/* Precondition: there are no temporary files. */
cl_git_pass(git_buf_sets(&path, clar_sandbox_path()));
cl_git_pass(find_tmp_file_recurs(&first_tmp_file, &path));
if (git_buf_is_allocated(&first_tmp_file)) {
cl_warning("Found a temporary file before running the test");
cl_skip();
}
cl_git_pass(git_indexer_new(&idx, ".", 0, NULL, NULL, NULL));
git_indexer_free(idx);
cl_git_pass(find_tmp_file_recurs(&first_tmp_file, &path));
cl_check(!git_buf_is_allocated(&first_tmp_file));
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment