]> git.proxmox.com Git - libgit2.git/commitdiff
Add tests for ahead-behind count
authorScott J. Goldman <scottjg@github.com>
Wed, 28 Nov 2012 00:37:11 +0000 (16:37 -0800)
committerScott J. Goldman <scottjg@github.com>
Thu, 29 Nov 2012 02:54:57 +0000 (18:54 -0800)
tests-clar/revwalk/mergebase.c

index 268574eb6cf5452c695a6424d099f5a2a17bc00b..c70222f19aac84dc6c1ac77eace9bd69922ad0b3 100644 (file)
@@ -18,6 +18,7 @@ void test_revwalk_mergebase__cleanup(void)
 void test_revwalk_mergebase__single1(void)
 {
        git_oid result, one, two, expected;
+       int ahead, behind;
 
        cl_git_pass(git_oid_fromstr(&one, "c47800c7266a2be04c571c04d5a6614691ea99bd "));
        cl_git_pass(git_oid_fromstr(&two, "9fd738e8f7967c078dceed8190330fc8648ee56a"));
@@ -25,11 +26,20 @@ void test_revwalk_mergebase__single1(void)
 
        cl_git_pass(git_merge_base(&result, _repo, &one, &two));
        cl_assert(git_oid_cmp(&result, &expected) == 0);
+
+       cl_git_pass(git_count_ahead_behind(&ahead, &behind, _repo, &one, &two));
+       cl_assert(ahead == 2);
+       cl_assert(behind == 1);
+
+       cl_git_pass(git_count_ahead_behind(&ahead, &behind, _repo, &two, &one));
+       cl_assert(ahead == 1);
+       cl_assert(behind == 2);
 }
 
 void test_revwalk_mergebase__single2(void)
 {
        git_oid result, one, two, expected;
+       int ahead, behind;
 
        cl_git_pass(git_oid_fromstr(&one, "763d71aadf09a7951596c9746c024e7eece7c7af"));
        cl_git_pass(git_oid_fromstr(&two, "a65fedf39aefe402d3bb6e24df4d4f5fe4547750"));
@@ -37,11 +47,20 @@ void test_revwalk_mergebase__single2(void)
 
        cl_git_pass(git_merge_base(&result, _repo, &one, &two));
        cl_assert(git_oid_cmp(&result, &expected) == 0);
+
+       cl_git_pass(git_count_ahead_behind( &ahead, &behind, _repo, &one, &two));
+       cl_assert(ahead == 4);
+       cl_assert(behind == 1);
+
+       cl_git_pass(git_count_ahead_behind( &ahead, &behind, _repo, &two, &one));
+       cl_assert(ahead == 1);
+       cl_assert(behind == 4);
 }
 
 void test_revwalk_mergebase__merged_branch(void)
 {
        git_oid result, one, two, expected;
+       int ahead, behind;
 
        cl_git_pass(git_oid_fromstr(&one, "a65fedf39aefe402d3bb6e24df4d4f5fe4547750"));
        cl_git_pass(git_oid_fromstr(&two, "9fd738e8f7967c078dceed8190330fc8648ee56a"));
@@ -52,11 +71,20 @@ void test_revwalk_mergebase__merged_branch(void)
 
        cl_git_pass(git_merge_base(&result, _repo, &two, &one));
        cl_assert(git_oid_cmp(&result, &expected) == 0);
+
+       cl_git_pass(git_count_ahead_behind(&ahead, &behind, _repo, &one, &two));
+       cl_assert(ahead == 0);
+       cl_assert(behind == 3);
+
+       cl_git_pass(git_count_ahead_behind(&ahead, &behind, _repo, &two, &one));
+       cl_assert(ahead == 3);
+       cl_assert(behind == 0);
 }
 
 void test_revwalk_mergebase__no_common_ancestor_returns_ENOTFOUND(void)
 {
        git_oid result, one, two;
+       int ahead, behind;
        int error;
 
        cl_git_pass(git_oid_fromstr(&one, "763d71aadf09a7951596c9746c024e7eece7c7af"));
@@ -66,6 +94,11 @@ void test_revwalk_mergebase__no_common_ancestor_returns_ENOTFOUND(void)
        cl_git_fail(error);
 
        cl_assert_equal_i(GIT_ENOTFOUND, error);
+
+       cl_git_fail(git_count_ahead_behind(&ahead, &behind, _repo, &one, &two));
+       cl_git_fail(error);
+
+       cl_assert_equal_i(GIT_ENOTFOUND, error);
 }
 
 void test_revwalk_mergebase__no_off_by_one_missing(void)