]> git.ipfire.org Git - thirdparty/git.git/commitdiff
bisect test: test exit codes on bad usage
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Thu, 10 Nov 2022 16:36:42 +0000 (23:36 +0700)
committerTaylor Blau <me@ttaylorr.com>
Fri, 11 Nov 2022 22:05:57 +0000 (17:05 -0500)
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@gmail.com>
Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
Signed-off-by: Taylor Blau <me@ttaylorr.com>
t/t6030-bisect-porcelain.sh

index 03d99b22f1ab8cf3d222035ebe97bfa12cc45d2b..98a72ff78a78905df62869a9a1177af5324db01c 100755 (executable)
@@ -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 1 git bisect reset extra1 extra2 <<-\EOF &&
+       error: 'git bisect reset' requires either no argument or a commit
+       EOF
+       test_bisect_usage 1 git bisect terms extra1 extra2 <<-\EOF &&
+       error: 'git bisect terms' requires 0 or 1 argument
+       EOF
+       test_bisect_usage 1 git bisect next extra1 <<-\EOF &&
+       error: 'git bisect next' requires 0 arguments
+       EOF
+       test_bisect_usage 1 git bisect log extra1 <<-\EOF &&
+       error: We are not bisecting.
+       EOF
+       test_bisect_usage 1 git bisect replay <<-\EOF &&
+       error: no logfile given
+       EOF
+       test_bisect_usage 1 git bisect run <<-\EOF
+       error: 'git 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) &&