The breaks in the &&-chain in this test went unnoticed because the
"magic exit code 117" &&-chain checker built into test-lib.sh only
recognizes broken &&-chains at the top-level; it does not work within
`{...}` groups, `(...)` subshells, `$(...)` substitutions, or within
bodies of compound statements, such as `if`, `for`, `while`, `case`,
etc. Furthermore, `chainlint.sed` detects broken &&-chains only in
`(...)` subshells. Thus, the &&-chain breaks in this test fall into the
blind spots of the &&-chain linters.
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
test_expect_success 'refuse to overwrite: checked out in worktree' '
for i in 1 2 3 4
do
- test_must_fail git branch -f wt-$i HEAD 2>err
+ test_must_fail git branch -f wt-$i HEAD 2>err &&
grep "cannot force update the branch" err &&
- test_must_fail git branch -D wt-$i 2>err
+ test_must_fail git branch -D wt-$i 2>err &&
grep "Cannot delete branch" err || return 1
done
'