mirror of
https://github.com/git/git
synced 2024-08-27 11:39:22 +00:00
![Eric Sunshine](/assets/img/avatar_default.png)
The purpose of chainlint.sed is to detect &&-chain breakage only within subshells (one level deep); it doesn't bother checking for top-level &&-chain breakage since the &&-chain checker built into t/test-lib.sh should detect broken &&-chains outside of subshells by making them magically exit with code 117. Unfortunately, one of the chainlint.sed self-tests has overly intimate knowledge of this particular division of responsibilities and only cares about what chainlint.sed itself will produce, while ignoring the fact that a more all-encompassing linter would complain about a broken &&-chain outside the subshell. This makes it difficult to re-use the test with a more capable chainlint implementation should one ever be developed. Therefore, adjust the test and its "expected" output to avoid being specific to the tunnel-vision of this one implementation. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 lines
293 B
Plaintext
13 lines
293 B
Plaintext
# LINT: top-level one-liner subshell
|
|
(foo && bar) &&
|
|
(foo && bar) |
|
|
(foo && bar) >baz &&
|
|
|
|
# LINT: top-level one-liner subshell missing internal "&&" and broken &&-chain
|
|
(foo; bar) &&
|
|
(foo; bar) |
|
|
(foo; bar) >baz &&
|
|
|
|
# LINT: ";" in string not misinterpreted as broken &&-chain
|
|
(foo "bar; baz")
|