mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-09 20:29:27 +00:00
Proper cleanup jeez
This commit is contained in:
parent
600d8dbf6d
commit
f6fded8f91
@ -1,10 +1,5 @@
|
|||||||
#include "clar_libgit2.h"
|
#include "clar_libgit2.h"
|
||||||
|
|
||||||
void test_config_read__cleanup(void)
|
|
||||||
{
|
|
||||||
cl_fixture_cleanup("./empty");
|
|
||||||
}
|
|
||||||
|
|
||||||
void test_config_read__simple_read(void)
|
void test_config_read__simple_read(void)
|
||||||
{
|
{
|
||||||
git_config *cfg;
|
git_config *cfg;
|
||||||
@ -436,11 +431,18 @@ void test_config_read__simple_read_from_specific_level(void)
|
|||||||
git_config_free(cfg);
|
git_config_free(cfg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void clean_empty_config(void *unused)
|
||||||
|
{
|
||||||
|
GIT_UNUSED(unused);
|
||||||
|
cl_fixture_cleanup("./empty");
|
||||||
|
}
|
||||||
|
|
||||||
void test_config_read__can_load_and_parse_an_empty_config_file(void)
|
void test_config_read__can_load_and_parse_an_empty_config_file(void)
|
||||||
{
|
{
|
||||||
git_config *cfg;
|
git_config *cfg;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
cl_set_cleanup(&clean_empty_config, NULL);
|
||||||
cl_git_mkfile("./empty", "");
|
cl_git_mkfile("./empty", "");
|
||||||
cl_git_pass(git_config_open_ondisk(&cfg, "./empty"));
|
cl_git_pass(git_config_open_ondisk(&cfg, "./empty"));
|
||||||
cl_assert_equal_i(GIT_ENOTFOUND, git_config_get_int32(&i, cfg, "nope.neither"));
|
cl_assert_equal_i(GIT_ENOTFOUND, git_config_get_int32(&i, cfg, "nope.neither"));
|
||||||
|
@ -24,8 +24,6 @@ static struct test_entry test_entries[] = {
|
|||||||
{48, "src/revobject.h", 1448, 0x4C3F7FE2}
|
{48, "src/revobject.h", 1448, 0x4C3F7FE2}
|
||||||
};
|
};
|
||||||
|
|
||||||
static char *path_to_cleanup = NULL;
|
|
||||||
|
|
||||||
// Helpers
|
// Helpers
|
||||||
static void copy_file(const char *src, const char *dst)
|
static void copy_file(const char *src, const char *dst)
|
||||||
{
|
{
|
||||||
@ -73,14 +71,6 @@ void test_index_tests__initialize(void)
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_index_tests__cleanup(void)
|
|
||||||
{
|
|
||||||
if (path_to_cleanup)
|
|
||||||
cl_fixture_cleanup(path_to_cleanup);
|
|
||||||
path_to_cleanup = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void test_index_tests__empty_index(void)
|
void test_index_tests__empty_index(void)
|
||||||
{
|
{
|
||||||
git_index *index;
|
git_index *index;
|
||||||
@ -207,50 +197,57 @@ void test_index_tests__sort1(void)
|
|||||||
git_index_free(index);
|
git_index_free(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void cleanup_myrepo(void *opaque)
|
||||||
|
{
|
||||||
|
GIT_UNUSED(opaque);
|
||||||
|
cl_fixture_cleanup("myrepo");
|
||||||
|
}
|
||||||
|
|
||||||
void test_index_tests__add(void)
|
void test_index_tests__add(void)
|
||||||
{
|
{
|
||||||
git_index *index;
|
git_index *index;
|
||||||
git_filebuf file = GIT_FILEBUF_INIT;
|
git_filebuf file = GIT_FILEBUF_INIT;
|
||||||
git_repository *repo;
|
git_repository *repo;
|
||||||
const git_index_entry *entry;
|
const git_index_entry *entry;
|
||||||
git_oid id1;
|
git_oid id1;
|
||||||
|
|
||||||
/* Intialize a new repository */
|
cl_set_cleanup(&cleanup_myrepo, NULL);
|
||||||
cl_git_pass(git_repository_init(&repo, "./myrepo", 0));
|
|
||||||
|
|
||||||
/* Ensure we're the only guy in the room */
|
/* Intialize a new repository */
|
||||||
cl_git_pass(git_repository_index(&index, repo));
|
cl_git_pass(git_repository_init(&repo, "./myrepo", 0));
|
||||||
cl_assert(git_index_entrycount(index) == 0);
|
|
||||||
|
|
||||||
/* Create a new file in the working directory */
|
/* Ensure we're the only guy in the room */
|
||||||
cl_git_pass(git_futils_mkpath2file("myrepo/test.txt", 0777));
|
cl_git_pass(git_repository_index(&index, repo));
|
||||||
cl_git_pass(git_filebuf_open(&file, "myrepo/test.txt", 0));
|
cl_assert(git_index_entrycount(index) == 0);
|
||||||
cl_git_pass(git_filebuf_write(&file, "hey there\n", 10));
|
|
||||||
cl_git_pass(git_filebuf_commit(&file, 0666));
|
|
||||||
|
|
||||||
/* Store the expected hash of the file/blob
|
/* Create a new file in the working directory */
|
||||||
* This has been generated by executing the following
|
cl_git_pass(git_futils_mkpath2file("myrepo/test.txt", 0777));
|
||||||
* $ echo "hey there" | git hash-object --stdin
|
cl_git_pass(git_filebuf_open(&file, "myrepo/test.txt", 0));
|
||||||
*/
|
cl_git_pass(git_filebuf_write(&file, "hey there\n", 10));
|
||||||
cl_git_pass(git_oid_fromstr(&id1, "a8233120f6ad708f843d861ce2b7228ec4e3dec6"));
|
cl_git_pass(git_filebuf_commit(&file, 0666));
|
||||||
|
|
||||||
/* Add the new file to the index */
|
/* Store the expected hash of the file/blob
|
||||||
cl_git_pass(git_index_add_from_workdir(index, "test.txt"));
|
* This has been generated by executing the following
|
||||||
|
* $ echo "hey there" | git hash-object --stdin
|
||||||
|
*/
|
||||||
|
cl_git_pass(git_oid_fromstr(&id1, "a8233120f6ad708f843d861ce2b7228ec4e3dec6"));
|
||||||
|
|
||||||
/* Wow... it worked! */
|
/* Add the new file to the index */
|
||||||
cl_assert(git_index_entrycount(index) == 1);
|
cl_git_pass(git_index_add_from_workdir(index, "test.txt"));
|
||||||
entry = git_index_get_byindex(index, 0);
|
|
||||||
|
|
||||||
/* And the built-in hashing mechanism worked as expected */
|
/* Wow... it worked! */
|
||||||
cl_assert(git_oid_cmp(&id1, &entry->oid) == 0);
|
cl_assert(git_index_entrycount(index) == 1);
|
||||||
|
entry = git_index_get_byindex(index, 0);
|
||||||
|
|
||||||
/* Test access by path instead of index */
|
/* And the built-in hashing mechanism worked as expected */
|
||||||
cl_assert((entry = git_index_get_bypath(index, "test.txt", 0)) != NULL);
|
cl_assert(git_oid_cmp(&id1, &entry->oid) == 0);
|
||||||
cl_assert(git_oid_cmp(&id1, &entry->oid) == 0);
|
|
||||||
|
|
||||||
git_index_free(index);
|
/* Test access by path instead of index */
|
||||||
git_repository_free(repo);
|
cl_assert((entry = git_index_get_bypath(index, "test.txt", 0)) != NULL);
|
||||||
path_to_cleanup = "myrepo";
|
cl_assert(git_oid_cmp(&id1, &entry->oid) == 0);
|
||||||
|
|
||||||
|
git_index_free(index);
|
||||||
|
git_repository_free(repo);
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_index_tests__add_from_workdir_to_a_bare_repository_returns_EBAREPO(void)
|
void test_index_tests__add_from_workdir_to_a_bare_repository_returns_EBAREPO(void)
|
||||||
|
Loading…
Reference in New Issue
Block a user