Signed-off-by: Derrick Stolee <[email protected]>
---
t/helper/test-reach.c | 2 ++
t/t6600-test-reach.sh | 25 +++++++++++++++++++++++++
2 files changed, 27 insertions(+)
diff --git a/t/helper/test-reach.c b/t/helper/test-reach.c
index 88639a2945..14aaef5bff 100644
--- a/t/helper/test-reach.c
+++ b/t/helper/test-reach.c
@@ -89,6 +89,8 @@ int cmd__reach(int ac, const char **av)
printf("%s:%d\n", av[1], ref_newer(&oid_A, &oid_B));
else if (!strcmp(av[1], "in_merge_base"))
printf("%s:%d\n", av[1], in_merge_bases(A, B));
+ else if (!strcmp(av[1], "is_descendant_of"))
+ printf("%s(A,X):%d\n", av[1], is_descendant_of(A, list_X));
else if (!strcmp(av[1], "get_merge_bases_many")) {
struct commit_list *list = get_merge_bases_many(A, nr_X, X);
printf("%s(A,X):\n", av[1]);
diff --git a/t/t6600-test-reach.sh b/t/t6600-test-reach.sh
index ef25e70174..62655ae650 100755
--- a/t/t6600-test-reach.sh
+++ b/t/t6600-test-reach.sh
@@ -78,6 +78,31 @@ test_expect_success 'ref_newer:miss' '
test_reach_two_modes ref_newer
'
+test_expect_success 'is_descendant_of:hit' '
+ cat >input <<- EOF &&
+ A:commit-5-7
+ X:commit-4-8
+ X:commit-6-6
+ X:commit-1-1
+ EOF
+ cat >expect <<- EOF &&
+ is_descendant_of(A,X):1
+ EOF
+ test_reach_two_modes is_descendant_of
+'
+
+test_expect_success 'is_descendant_of:miss' '
+ cat >input <<- EOF &&
+ A:commit-5-7
+ X:commit-4-8
+ X:commit-6-6
+ EOF
+ cat >expect <<- EOF &&
+ is_descendant_of(A,X):0
+ EOF
+ test_reach_two_modes is_descendant_of
+'
+
test_expect_success 'reduce_heads' '
cat >input <<- EOF &&
X:commit-1-10
--
2.18.0.118.gd4f65b8d14