diff options
author | Eric Sunshine <sunshine@sunshineco.com> | 2021-12-09 00:11:08 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-12-13 10:29:48 -0800 |
commit | 7abcbcb7ea4303adffd169d5367ce70904e79bf5 (patch) | |
tree | c200af8c8a1fe797b4d45bb9d0d025b336863046 /t/t8002-blame.sh | |
parent | tests: fix broken &&-chains in `$(...)` command substitutions (diff) | |
download | tgif-7abcbcb7ea4303adffd169d5367ce70904e79bf5.tar.xz |
tests: fix broken &&-chains in `{...}` groups
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 `{...}` groups 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/t8002-blame.sh')
-rwxr-xr-x | t/t8002-blame.sh | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/t/t8002-blame.sh b/t/t8002-blame.sh index 5bb302b1ba..ee4fdd8f18 100755 --- a/t/t8002-blame.sh +++ b/t/t8002-blame.sh @@ -97,7 +97,7 @@ test_expect_success 'set up abbrev tests' ' test_commit abbrev && sha1=$(git rev-parse --verify HEAD) && check_abbrev () { - expect=$1; shift + expect=$1 && shift && echo $sha1 | cut -c 1-$expect >expect && git blame "$@" abbrev.t >actual && perl -lne "/[0-9a-f]+/ and print \$&" <actual >actual.sha && |