aboutsummaryrefslogtreecommitdiffstats
path: root/t/chainlint/if-in-loop.test
diff options
context:
space:
mode:
authorEric Sunshine <sunshine@sunshineco.com>2022-09-01 00:29:49 +0000
committerJunio C Hamano <gitster@pobox.com>2022-09-01 10:07:41 -0700
commit832c68b3c210267c93e1dcb2f2763372339ca36c (patch)
tree3141f27c3958b96cbb05ddd3f7feafcc4328f79e /t/chainlint/if-in-loop.test
parentchainlint.pl: don't flag broken &&-chain if `$?` handled explicitly (diff)
downloadgit-832c68b3c210267c93e1dcb2f2763372339ca36c.tar.gz
git-832c68b3c210267c93e1dcb2f2763372339ca36c.zip
chainlint.pl: don't flag broken &&-chain if failure indicated explicitly
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>
Diffstat (limited to 't/chainlint/if-in-loop.test')
-rw-r--r--t/chainlint/if-in-loop.test2
1 files changed, 1 insertions, 1 deletions
diff --git a/t/chainlint/if-in-loop.test b/t/chainlint/if-in-loop.test
index f0cf19cfad..90c23976fe 100644
--- a/t/chainlint/if-in-loop.test
+++ b/t/chainlint/if-in-loop.test
@@ -3,7 +3,7 @@
do
if false
then
-# LINT: missing "&&" on "echo"
+# LINT: missing "&&" on "echo" okay since "exit 1" signals error explicitly
echo "err"
exit 1
# LINT: missing "&&" on "fi"