Skip to content

Commit 7b1732c

Browse files
Michael J Grubergitster
authored andcommitted
t7510: use consistent &&-chains in loop
We check multiple commits in a loop. Because we want to break out of the loop if any single iteration fails, we use a subshell/exit like: ( for i in $stuff do do-something $i || exit 1 done ) However, we are inconsistent in our loop body. Some commands get their own "|| exit 1", and others try to chain to the next command with "&&", like: X && Y || exit 1 Z || exit 1 This is a little hard to read and follow, because X and Y are treated differently for no good reason. But much worse, the second loop follows a similar pattern and gets it wrong. "Y" is expected to fail, so we use "&& exit 1", giving us: X && Y && exit 1 Z || exit 1 That gets the test for X wrong (we do not exit unless both X fails and Y unexpectedly succeeds, but we would want to exit if _either_ is wrong). We can write this clearly and correctly by consistently using "&&", followed by a single "|| exit 1", and negating Y with "!" (as we would in a normal &&-chain). Like: X && ! Y && Z || exit 1 Signed-off-by: Jeff King <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 526d56e commit 7b1732c

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

t/t7510-signed-commit.sh

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,18 +50,18 @@ test_expect_success GPG 'show signatures' '
5050
for commit in initial second merge fourth-signed fifth-signed sixth-signed seventh-signed
5151
do
5252
git show --pretty=short --show-signature $commit >actual &&
53-
grep "Good signature from" actual || exit 1
54-
! grep "BAD signature from" actual || exit 1
55-
echo $commit OK
53+
grep "Good signature from" actual &&
54+
! grep "BAD signature from" actual &&
55+
echo $commit OK || exit 1
5656
done
5757
) &&
5858
(
5959
for commit in merge^2 fourth-unsigned sixth-unsigned seventh-unsigned
6060
do
6161
git show --pretty=short --show-signature $commit >actual &&
62-
grep "Good signature from" actual && exit 1
63-
! grep "BAD signature from" actual || exit 1
64-
echo $commit OK
62+
! grep "Good signature from" actual &&
63+
! grep "BAD signature from" actual &&
64+
echo $commit OK || exit 1
6565
done
6666
)
6767
'

0 commit comments

Comments
 (0)