diff options
author | Eric Sunshine <sunshine@sunshineco.com> | 2021-12-09 00:11:06 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-12-13 10:29:48 -0800 |
commit | 74d2f5695dab4454097b2d1693f7206e8328724a (patch) | |
tree | 6d4a147a909ef45477fd1509e83530b7ed39bec9 /t/t7004-tag.sh | |
parent | tests: use test_write_lines() to generate line-oriented output (diff) | |
download | tgif-74d2f5695dab4454097b2d1693f7206e8328724a.tar.xz |
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>
Diffstat (limited to 't/t7004-tag.sh')
-rwxr-xr-x | t/t7004-tag.sh | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh index 082be85dff..660cde5a63 100755 --- a/t/t7004-tag.sh +++ b/t/t7004-tag.sh @@ -1976,8 +1976,11 @@ test_expect_success ULIMIT_STACK_SIZE '--contains and --no-contains work in a de committer A U Thor <author@example.com> $((1000000000 + $i * 100)) +0200 data <<EOF commit #$i -EOF" - test $i = 1 && echo "from refs/heads/main^0" +EOF" && + if test $i = 1 + then + echo "from refs/heads/main^0" + fi && i=$(($i + 1)) done | git fast-import && git checkout main && |