Signed-off-by: Derrick Stolee <dstolee@xxxxxxxxxxxxx> --- 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