diff --git a/tests-clar/config/read.c b/tests-clar/config/read.c index b603acb5c..9c02307ad 100644 --- a/tests-clar/config/read.c +++ b/tests-clar/config/read.c @@ -1,10 +1,5 @@ #include "clar_libgit2.h" -void test_config_read__cleanup(void) -{ - cl_fixture_cleanup("./empty"); -} - void test_config_read__simple_read(void) { git_config *cfg; @@ -436,11 +431,18 @@ void test_config_read__simple_read_from_specific_level(void) 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) { git_config *cfg; int i; + cl_set_cleanup(&clean_empty_config, NULL); cl_git_mkfile("./empty", ""); cl_git_pass(git_config_open_ondisk(&cfg, "./empty")); cl_assert_equal_i(GIT_ENOTFOUND, git_config_get_int32(&i, cfg, "nope.neither")); diff --git a/tests-clar/index/tests.c b/tests-clar/index/tests.c index d2ad71cc6..989734c1b 100644 --- a/tests-clar/index/tests.c +++ b/tests-clar/index/tests.c @@ -24,8 +24,6 @@ static struct test_entry test_entries[] = { {48, "src/revobject.h", 1448, 0x4C3F7FE2} }; -static char *path_to_cleanup = NULL; - // Helpers 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) { git_index *index; @@ -207,50 +197,57 @@ void test_index_tests__sort1(void) git_index_free(index); } +static void cleanup_myrepo(void *opaque) +{ + GIT_UNUSED(opaque); + cl_fixture_cleanup("myrepo"); +} + void test_index_tests__add(void) { - git_index *index; - git_filebuf file = GIT_FILEBUF_INIT; - git_repository *repo; - const git_index_entry *entry; - git_oid id1; + git_index *index; + git_filebuf file = GIT_FILEBUF_INIT; + git_repository *repo; + const git_index_entry *entry; + git_oid id1; - /* Intialize a new repository */ - cl_git_pass(git_repository_init(&repo, "./myrepo", 0)); + cl_set_cleanup(&cleanup_myrepo, NULL); - /* Ensure we're the only guy in the room */ - cl_git_pass(git_repository_index(&index, repo)); - cl_assert(git_index_entrycount(index) == 0); + /* Intialize a new repository */ + cl_git_pass(git_repository_init(&repo, "./myrepo", 0)); - /* Create a new file in the working directory */ - cl_git_pass(git_futils_mkpath2file("myrepo/test.txt", 0777)); - 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_filebuf_commit(&file, 0666)); + /* Ensure we're the only guy in the room */ + cl_git_pass(git_repository_index(&index, repo)); + cl_assert(git_index_entrycount(index) == 0); - /* Store the expected hash of the file/blob - * This has been generated by executing the following - * $ echo "hey there" | git hash-object --stdin - */ - cl_git_pass(git_oid_fromstr(&id1, "a8233120f6ad708f843d861ce2b7228ec4e3dec6")); + /* Create a new file in the working directory */ + cl_git_pass(git_futils_mkpath2file("myrepo/test.txt", 0777)); + 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_filebuf_commit(&file, 0666)); - /* Add the new file to the index */ - cl_git_pass(git_index_add_from_workdir(index, "test.txt")); + /* Store the expected hash of the file/blob + * 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! */ - cl_assert(git_index_entrycount(index) == 1); - entry = git_index_get_byindex(index, 0); + /* Add the new file to the index */ + cl_git_pass(git_index_add_from_workdir(index, "test.txt")); - /* And the built-in hashing mechanism worked as expected */ - cl_assert(git_oid_cmp(&id1, &entry->oid) == 0); + /* Wow... it worked! */ + cl_assert(git_index_entrycount(index) == 1); + entry = git_index_get_byindex(index, 0); - /* Test access by path instead of index */ - cl_assert((entry = git_index_get_bypath(index, "test.txt", 0)) != NULL); - cl_assert(git_oid_cmp(&id1, &entry->oid) == 0); + /* And the built-in hashing mechanism worked as expected */ + cl_assert(git_oid_cmp(&id1, &entry->oid) == 0); - git_index_free(index); - git_repository_free(repo); - path_to_cleanup = "myrepo"; + /* Test access by path instead of index */ + cl_assert((entry = git_index_get_bypath(index, "test.txt", 0)) != NULL); + 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)