[PATCH] t6002: make test "set -e" clean
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 24, 2026, 18:05 UTC
- Message-ID
- <xmqqwlz1yuga.fsf_-_@gitster.g>
- In-Reply-To
- <xmqqcy0t178a.fsf_-_@gitster.g>
In order to catch mistakes like misspelling "test_expect_success", we would like to eventually be able to run our test suite with the "-e" option on.
We often use
val=$(expr expression)
only for the computation, and it is good that "expr" exits non-zero with syntactically invalid expression (it exits with 2) and other errors (with 3).
"expr" however also exits with "1" if it yields 0 or null X-<.
Make sure we do not fail unnecessarily under "set -e".
Signed-off-by: Junio C Hamano <gitster@pobox.com> ---
* It was fun to figure this one out.
t/t6002-rev-list-bisect.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git i/t/t6002-rev-list-bisect.sh w/t/t6002-rev-list-bisect.sh index daa009c9a1..1bd720d240 100755 --- i/t/t6002-rev-list-bisect.sh +++ w/t/t6002-rev-list-bisect.sh @@ -27,9 +27,9 @@ test_bisection_diff() # Test if bisection size is close to half of list size within # tolerance. # - _bisect_err=$(expr $_list_size - $_bisection_size \* 2) + _bisect_err=$(expr $_list_size - $_bisection_size \* 2) && test $? -le 1 test "$_bisect_err" -lt 0 && _bisect_err=$(expr 0 - $_bisect_err) - _bisect_err=$(expr $_bisect_err / 2) ; # floor + _bisect_err=$(expr $_bisect_err / 2) && test $? -le 1; # floor test_expect_success \ "bisection diff $_bisect_option $_head $* <= $_max_diff" \