mirror of
https://github.com/git/git
synced 2024-08-28 12:09:19 +00:00
![Eric Sunshine](/assets/img/avatar_default.png)
There are quite a few tests which print an error messages and then explicitly signal failure with `false`, `return 1`, or `exit 1` as the final command in an `if` branch. In these cases, the tests don't bother maintaining the &&-chain between `echo` and the explicit "test failed" indicator. Since such constructs are manually signaling failure, their &&-chain breakage is legitimate and safe -- both for the command immediately preceding `false`, `return`, or `exit`, as well as for all preceding commands in the `if` branch. Therefore, stop flagging &&-chain breakage in these sorts of cases. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
24 lines
651 B
Plaintext
24 lines
651 B
Plaintext
case "$(git ls-files)" in
|
|
one) echo pass one ;;
|
|
# LINT: broken &&-chain okay if explicit "return 1" signals failuire
|
|
*) echo bad one; return 1 ;;
|
|
esac &&
|
|
(
|
|
case "$(git ls-files)" in
|
|
two) echo pass two ;;
|
|
# LINT: broken &&-chain okay if explicit "exit 1" signals failuire
|
|
*) echo bad two; exit 1 ;;
|
|
esac
|
|
) &&
|
|
case "$(git ls-files)" in
|
|
dir/two"$LF"one) echo pass both ;;
|
|
# LINT: broken &&-chain okay if explicit "return 1" signals failuire
|
|
*) echo bad; return 1 ;;
|
|
esac &&
|
|
|
|
for i in 1 2 3 4 ; do
|
|
# LINT: broken &&-chain okay if explicit "return $?" signals failure
|
|
git checkout main -b $i || return $?
|
|
test_commit $i $i $i tag$i || return $?
|
|
done
|