diff options
author | Eric Sunshine <sunshine@sunshineco.com> | 2021-12-09 06:11:06 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-12-13 19:29:48 +0100 |
commit | 74d2f5695dab4454097b2d1693f7206e8328724a (patch) | |
tree | 6d4a147a909ef45477fd1509e83530b7ed39bec9 /t/t6120-describe.sh | |
parent | tests: use test_write_lines() to generate line-oriented output (diff) | |
download | git-74d2f5695dab4454097b2d1693f7206e8328724a.tar.xz git-74d2f5695dab4454097b2d1693f7206e8328724a.zip |
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/t6120-describe.sh')
-rwxr-xr-x | t/t6120-describe.sh | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/t/t6120-describe.sh b/t/t6120-describe.sh index bae2419150..9b2cc066f7 100755 --- a/t/t6120-describe.sh +++ b/t/t6120-describe.sh @@ -390,8 +390,11 @@ test_expect_success ULIMIT_STACK_SIZE 'name-rev works in a deep repo' ' 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 && |