mirror of
https://git.proxmox.com/git/libgit2
synced 2025-07-02 20:05:41 +00:00
Add a test
This commit is contained in:
parent
db535d0a7d
commit
def644e48a
@ -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));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user