Address a test blindspot, the "log" command is the odd one out because "git-bisect.sh" ignores any arguments it receives. Let's test both the exit codes we expect, and the stderr and stdout we're emitting. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> --- t/t6030-bisect-porcelain.sh | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh index 69fad3f94f6..eace0af637e 100755 --- a/t/t6030-bisect-porcelain.sh +++ b/t/t6030-bisect-porcelain.sh @@ -34,6 +34,36 @@ HASH2= HASH3= HASH4= +test_bisect_usage () { + local code="$1" && + shift && + cat >expect && + test_expect_code $code "$@" >out 2>actual && + test_must_be_empty out && + test_cmp expect actual +} + +test_expect_success 'bisect usage' ' + test_bisect_usage 255 git bisect reset extra1 extra2 <<-\EOF && + error: --bisect-reset requires either no argument or a commit + EOF + test_bisect_usage 255 git bisect terms extra1 extra2 <<-\EOF && + error: --bisect-terms requires 0 or 1 argument + EOF + test_bisect_usage 255 git bisect next extra1 <<-\EOF && + error: --bisect-next requires 0 arguments + EOF + test_bisect_usage 1 git bisect log extra1 <<-\EOF && + error: We are not bisecting. + EOF + test_bisect_usage 255 git bisect replay <<-\EOF && + error: no logfile given + EOF + test_bisect_usage 255 git bisect run <<-\EOF + error: bisect run failed: no command provided. + EOF +' + test_expect_success 'set up basic repo with 1 file (hello) and 4 commits' ' add_line_into_file "1: Hello World" hello && HASH1=$(git rev-parse --verify HEAD) && -- 2.38.0.1452.g710f45c7951