Add tests for ahead-behind count
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
diff --git a/tests-clar/revwalk/mergebase.c b/tests-clar/revwalk/mergebase.c
index 268574e..c70222f 100644
--- a/tests-clar/revwalk/mergebase.c
+++ b/tests-clar/revwalk/mergebase.c
@@ -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)