diff options
author | Russell Belfer <arrbee@arrbee.com> | 2012-02-29 12:04:59 -0800 |
---|---|---|
committer | Russell Belfer <arrbee@arrbee.com> | 2012-03-02 15:51:55 -0800 |
commit | 854eccbb2d86c2910f9d98dc52f9ebd0e37c262a (patch) | |
tree | b22048a02480598477cde9c41fc16d3967226d6b /tests-clar/diff/iterator.c | |
parent | 74fa4bfae37e9d7c9e35550c881b114d7a83c4fa (diff) | |
download | libgit2-854eccbb2d86c2910f9d98dc52f9ebd0e37c262a.tar.gz |
Clean up GIT_UNUSED macros on all platforms
It turns out that commit 31e9cfc4cbcaf1b38cdd3dbe3282a8f57e5366a5
did not fix the GIT_USUSED behavior on all platforms. This commit
walks through and really cleans things up more thoroughly, getting
rid of the unnecessary stuff.
To remove the use of some GIT_UNUSED, I ended up adding a couple
of new iterators for hashtables that allow you to iterator just
over keys or just over values.
In making this change, I found a bug in the clar tests (where we
were doing *count++ but meant to do (*count)++ to increment the
value). I fixed that but then found the test failing because it
was not really using an empty repo. So, I took some of the code
that I wrote for iterator testing and moved it to clar_helpers.c,
then made use of that to make it easier to open fixtures on a
per test basis even within a single test file.
Diffstat (limited to 'tests-clar/diff/iterator.c')
-rw-r--r-- | tests-clar/diff/iterator.c | 50 |
1 files changed, 8 insertions, 42 deletions
diff --git a/tests-clar/diff/iterator.c b/tests-clar/diff/iterator.c index 1ad126ca..3953fd83 100644 --- a/tests-clar/diff/iterator.c +++ b/tests-clar/diff/iterator.c @@ -2,37 +2,6 @@ #include "diff_helpers.h" #include "iterator.h" -static git_repository *g_repo = NULL; -static const char *g_sandbox = NULL; - -static void setup_sandbox(const char *sandbox) -{ - cl_fixture_sandbox(sandbox); - g_sandbox = sandbox; - - p_chdir(sandbox); - cl_git_pass(p_rename(".gitted", ".git")); - if (p_access("gitattributes", F_OK) == 0) - cl_git_pass(p_rename("gitattributes", ".gitattributes")); - if (p_access("gitignore", F_OK) == 0) - cl_git_pass(p_rename("gitignore", ".gitignore")); - p_chdir(".."); - - cl_git_pass(git_repository_open(&g_repo, sandbox)); -} - -static void cleanup_sandbox(void) -{ - if (g_repo) { - git_repository_free(g_repo); - g_repo = NULL; - } - if (g_sandbox) { - cl_fixture_cleanup(g_sandbox); - g_sandbox = NULL; - } -} - void test_diff_iterator__initialize(void) { /* since we are doing tests with different sandboxes, defer setup @@ -44,7 +13,7 @@ void test_diff_iterator__initialize(void) void test_diff_iterator__cleanup(void) { - cleanup_sandbox(); + cl_git_sandbox_cleanup(); } @@ -60,11 +29,10 @@ static void tree_iterator_test( git_iterator *i; const git_index_entry *entry; int count = 0; + git_repository *repo = cl_git_sandbox_init(sandbox); - setup_sandbox(sandbox); - - cl_assert(t = resolve_commit_oid_to_tree(g_repo, treeish)); - cl_git_pass(git_iterator_for_tree(g_repo, t, &i)); + cl_assert(t = resolve_commit_oid_to_tree(repo, treeish)); + cl_git_pass(git_iterator_for_tree(repo, t, &i)); cl_git_pass(git_iterator_current(i, &entry)); while (entry != NULL) { @@ -183,10 +151,9 @@ static void index_iterator_test( git_iterator *i; const git_index_entry *entry; int count = 0; + git_repository *repo = cl_git_sandbox_init(sandbox); - setup_sandbox(sandbox); - - cl_git_pass(git_iterator_for_index(g_repo, &i)); + cl_git_pass(git_iterator_for_index(repo, &i)); cl_git_pass(git_iterator_current(i, &entry)); while (entry != NULL) { @@ -303,10 +270,9 @@ static void workdir_iterator_test( git_iterator *i; const git_index_entry *entry; int count = 0, count_all = 0; + git_repository *repo = cl_git_sandbox_init(sandbox); - setup_sandbox(sandbox); - - cl_git_pass(git_iterator_for_workdir(g_repo, &i)); + cl_git_pass(git_iterator_for_workdir(repo, &i)); cl_git_pass(git_iterator_current(i, &entry)); while (entry != NULL) { |