Test 17 from t6030-bisect-porcelain.sh assumes that bisection algorithm suggests first HASH3 where HASH2 and HASH3 are equivalent choices. Make sure test correctly handles both choices, add test variant to properly test commit skipping in the second case. Signed-off-by: Jan Kara <jack@xxxxxxx> --- t/t6030-bisect-porcelain.sh | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh index 1be85d064e76..f8cfdd3c36d2 100755 --- a/t/t6030-bisect-porcelain.sh +++ b/t/t6030-bisect-porcelain.sh @@ -197,11 +197,27 @@ test_expect_success 'bisect skip: successful result' ' test_when_finished git bisect reset && git bisect reset && git bisect start $HASH4 $HASH1 && - git bisect skip && + if [ $(git rev-parse HEAD) == $HASH3 ]; then + git bisect skip + fi && git bisect bad > my_bisect_log.txt && grep "$HASH2 is the first bad commit" my_bisect_log.txt ' +# $HASH1 is good, $HASH4 is bad, we skip $HASH2 +# but $HASH3 is good, +# so we should find $HASH4 as the first bad commit +test_expect_success 'bisect skip: successful result' ' + test_when_finished git bisect reset && + git bisect reset && + git bisect start $HASH4 $HASH1 && + if [ $(git rev-parse HEAD) == $HASH2 ]; then + git bisect skip + fi && + git bisect good > my_bisect_log.txt && + grep "$HASH4 is the first bad commit" my_bisect_log.txt +' + # $HASH1 is good, $HASH4 is bad, we skip $HASH3 and $HASH2 # so we should not be able to tell the first bad commit # among $HASH2, $HASH3 and $HASH4 -- 2.26.2