tests: fix broken &&-chains in compound statements
The top-level &&-chain checker built into t/test-lib.sh causes tests to magically exit with code 117 if the &&-chain is broken. However, it has the shortcoming that the magic does not work within `{...}` groups, `(...)` subshells, `$(...)` substitutions, or within bodies of compound statements, such as `if`, `for`, `while`, `case`, etc. `chainlint.sed` partly fills in the gap by catching broken &&-chains in `(...)` subshells, but bugs can still lurk behind broken &&-chains in the other cases. Fix broken &&-chains in compound statements in order to reduce the number of possible lurking bugs. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Reviewed-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
0849541268
commit
74d2f5695d
@ -47,7 +47,7 @@ test_expect_success resolve '
|
||||
echo Oops, should not have succeeded
|
||||
false
|
||||
else
|
||||
git ls-files -s >current
|
||||
git ls-files -s >current &&
|
||||
test_cmp expect current
|
||||
fi
|
||||
'
|
||||
@ -62,7 +62,7 @@ test_expect_success recursive '
|
||||
echo Oops, should not have succeeded
|
||||
false
|
||||
else
|
||||
git ls-files -s >current
|
||||
git ls-files -s >current &&
|
||||
test_cmp expect current
|
||||
fi
|
||||
'
|
||||
|
Reference in New Issue
Block a user