summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornulltoken <emeric.fermas@gmail.com>2012-11-17 22:07:30 -0800
committernulltoken <emeric.fermas@gmail.com>2012-11-28 20:00:06 +0100
commitf1bd50d61d3bce63b8db46e906b2ed34ec9545cf (patch)
treea2108639bb80a3977f01f2b2bfc926dfb1ca8ca3
parent7cdad6c77425348364d9c10582b1b779dd7c1ade (diff)
downloadlibgit2-f1bd50d61d3bce63b8db46e906b2ed34ec9545cf.tar.gz
tracking: remove code duplication in test
-rw-r--r--tests-clar/refs/branches/tracking.c26
1 files changed, 3 insertions, 23 deletions
diff --git a/tests-clar/refs/branches/tracking.c b/tests-clar/refs/branches/tracking.c
index 9378ecad5..10a4fe38e 100644
--- a/tests-clar/refs/branches/tracking.c
+++ b/tests-clar/refs/branches/tracking.c
@@ -2,17 +2,19 @@
#include "refs.h"
static git_repository *repo;
-static git_reference *branch;
+static git_reference *branch, *tracking;
void test_refs_branches_tracking__initialize(void)
{
cl_git_pass(git_repository_open(&repo, cl_fixture("testrepo.git")));
branch = NULL;
+ tracking = NULL;
}
void test_refs_branches_tracking__cleanup(void)
{
+ git_reference_free(tracking);
git_reference_free(branch);
branch = NULL;
@@ -22,61 +24,39 @@ void test_refs_branches_tracking__cleanup(void)
void test_refs_branches_tracking__can_retrieve_the_remote_tracking_reference_of_a_local_branch(void)
{
- git_reference *branch, *tracking;
-
cl_git_pass(git_reference_lookup(&branch, repo, "refs/heads/master"));
cl_git_pass(git_branch_tracking(&tracking, branch));
cl_assert_equal_s("refs/remotes/test/master", git_reference_name(tracking));
-
- git_reference_free(branch);
- git_reference_free(tracking);
}
void test_refs_branches_tracking__can_retrieve_the_local_tracking_reference_of_a_local_branch(void)
{
- git_reference *branch, *tracking;
-
cl_git_pass(git_reference_lookup(&branch, repo, "refs/heads/track-local"));
cl_git_pass(git_branch_tracking(&tracking, branch));
cl_assert_equal_s("refs/heads/master", git_reference_name(tracking));
-
- git_reference_free(branch);
- git_reference_free(tracking);
}
void test_refs_branches_tracking__cannot_retrieve_a_remote_tracking_reference_from_a_non_branch(void)
{
- git_reference *branch, *tracking;
-
cl_git_pass(git_reference_lookup(&branch, repo, "refs/tags/e90810b"));
cl_git_fail(git_branch_tracking(&tracking, branch));
-
- git_reference_free(branch);
}
void test_refs_branches_tracking__trying_to_retrieve_a_remote_tracking_reference_from_a_plain_local_branch_returns_GIT_ENOTFOUND(void)
{
- git_reference *branch, *tracking;
-
cl_git_pass(git_reference_lookup(&branch, repo, "refs/heads/subtrees"));
cl_assert_equal_i(GIT_ENOTFOUND, git_branch_tracking(&tracking, branch));
-
- git_reference_free(branch);
}
void test_refs_branches_tracking__trying_to_retrieve_a_remote_tracking_reference_from_a_branch_with_no_fetchspec_returns_GIT_ENOTFOUND(void)
{
- git_reference *branch, *tracking;
-
cl_git_pass(git_reference_lookup(&branch, repo, "refs/heads/cannot-fetch"));
cl_assert_equal_i(GIT_ENOTFOUND, git_branch_tracking(&tracking, branch));
-
- git_reference_free(branch);
}