diff mbox series

[v2,05/11] bisect-run: verify_good: account for non-negative exit status

Message ID d6c57af9cc12eb64a71e2effcdb4585952ccb3aa.1668097966.git.congdanhqx@gmail.com (mailing list archive)
State Accepted
Commit 8962f8f8887c15b3e55ebc348a2490290a55d8a5
Headers show
Series Turn git-bisect to be builtin | expand

Commit Message

Đoàn Trần Công Danh Nov. 10, 2022, 4:36 p.m. UTC
Some system never reports negative exit code at all, they reports them
as bigger-than-128 instead.  We take extra care for those systems in the
later check for normal 'do_bisect_run' loop.

Let's check it here, too.

Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
---
 builtin/bisect--helper.c    | 2 +-
 t/t6030-bisect-porcelain.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/builtin/bisect--helper.c b/builtin/bisect--helper.c
index 180c2faa7f..e214190599 100644
--- a/builtin/bisect--helper.c
+++ b/builtin/bisect--helper.c
@@ -1211,7 +1211,7 @@  static int bisect_run(struct bisect_terms *terms, const char **argv, int argc)
 		if (is_first_run && (res == 126 || res == 127)) {
 			int rc = verify_good(terms, command.buf);
 			is_first_run = 0;
-			if (rc < 0) {
+			if (rc < 0 || 128 <= rc) {
 				error(_("unable to verify %s on good"
 					" revision"), command.buf);
 				res = BISECT_FAILED;
diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh
index 34fd45a48e..03d99b22f1 100755
--- a/t/t6030-bisect-porcelain.sh
+++ b/t/t6030-bisect-porcelain.sh
@@ -347,7 +347,7 @@  test_expect_success 'git bisect run: negative exit code' "
 	test_cmp expect actual
 "
 
-test_expect_failure 'git bisect run: unable to verify on good' "
+test_expect_success 'git bisect run: unable to verify on good' "
 	write_script fail.sh <<-'EOF' &&
 	head=\$(git rev-parse --verify HEAD)
 	good=\$(git rev-parse --verify $HASH1)