path: root/t/
diff options
authorEric Sunshine <>2021-12-09 05:11:08 (GMT)
committerJunio C Hamano <>2021-12-13 18:29:48 (GMT)
commit7abcbcb7ea4303adffd169d5367ce70904e79bf5 (patch)
treec200af8c8a1fe797b4d45bb9d0d025b336863046 /t/
parentc576868eaff8cc4c7fb5cf8b787756b16fde268b (diff)
tests: fix broken &&-chains in `{...}` groups
The top-level &&-chain checker built into t/ 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 `{...}` groups in order to reduce the number of possible lurking bugs. Signed-off-by: Eric Sunshine <> Reviewed-by: Elijah Newren <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 't/')
1 files changed, 5 insertions, 2 deletions
diff --git a/t/ b/t/
index 759169d..df524f7 100755
--- a/t/
+++ b/t/
@@ -57,8 +57,11 @@ test_expect_success 'create series of packs' '
git commit -m $i &&
cur=$(git rev-parse HEAD^{tree}) &&
- test -n "$prev" && echo "-$prev"
- echo $cur
+ if test -n "$prev"
+ then
+ echo "-$prev"
+ fi &&
+ echo $cur &&
echo "$(git rev-parse :file) file"
} | git pack-objects --stdout >tmp &&
git index-pack --stdin --fix-thin <tmp || return 1