git/t/chainlint
Eric Sunshine 0d7131763e chainlint.sed: drop unnecessary distinction between ?!AMP?! and ?!SEMI?!
>From inception, when chainlint.sed encountered a line using semicolon to
separate commands rather than `&&`, it would insert a ?!SEMI?!
annotation at the beginning of the line rather ?!AMP?! even though the
&&-chain is also broken by the semicolon. Given a line such as:

    ?!SEMI?! cmd1; cmd2 &&

the ?!SEMI?! annotation makes it easier to see what the problem is than
if the output had been:

    ?!AMP?! cmd1; cmd2 &&

which might confuse the test author into thinking that the linter is
broken (since the line clearly ends with `&&`).

However, now that the ?!AMP?! an ?!SEMI?! annotations are inserted at
the point of breakage rather than at the beginning of the line, and
taking into account that both represent a broken &&-chain, there is
little reason to distinguish between the two. Using ?!AMP?! alone is
sufficient to point the test author at the problem. For instance, in:

    cmd1; ?!AMP?! cmd2 &&
    cmd3

it is clear that the &&-chain is broken between `cmd1` and `cmd2`.
Likewise, in:

    cmd1 && cmd2 ?!AMP?!
    cmd3

it is clear that the &&-chain is broken between `cmd2` and `cmd3`.
Finally, in:

    cmd1; ?!AMP?! cmd2 ?!AMP?!
    cmd3

it is clear that the &&-chain is broken between each command.

Hence, there is no longer a good reason to make a distinction between a
broken &&-chain due to a semicolon and a broken chain due to a missing
`&&` at end-of-line. Therefore, drop the ?!SEMI?! annotation and use
?!AMP?! exclusively.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-12-13 14:15:29 -08:00
..
arithmetic-expansion.expect chainlint.sed: improve ?!AMP?! placement accuracy 2021-12-13 14:15:29 -08:00
arithmetic-expansion.test
bash-array.expect
bash-array.test
blank-line.expect
blank-line.test t/chainlint/*.test: generalize self-test commentary 2021-12-13 14:15:28 -08:00
block.expect chainlint.sed: improve ?!AMP?! placement accuracy 2021-12-13 14:15:29 -08:00
block.test t/chainlint/*.test: generalize self-test commentary 2021-12-13 14:15:28 -08:00
broken-chain.expect chainlint.sed: improve ?!AMP?! placement accuracy 2021-12-13 14:15:29 -08:00
broken-chain.test t/chainlint/*.test: fix invalid test cases due to mixing quote types 2021-12-13 14:15:28 -08:00
case.expect chainlint.sed: improve ?!AMP?! placement accuracy 2021-12-13 14:15:29 -08:00
case.test t/chainlint/*.test: fix invalid test cases due to mixing quote types 2021-12-13 14:15:28 -08:00
close-nested-and-parent-together.expect
close-nested-and-parent-together.test
close-subshell.expect
close-subshell.test
command-substitution.expect chainlint.sed: improve ?!AMP?! placement accuracy 2021-12-13 14:15:29 -08:00
command-substitution.test
comment.expect
comment.test
complex-if-in-cuddled-loop.expect
complex-if-in-cuddled-loop.test t/chainlint/*.test: fix invalid test cases due to mixing quote types 2021-12-13 14:15:28 -08:00
cuddled-if-then-else.expect
cuddled-if-then-else.test t/chainlint/*.test: fix invalid test cases due to mixing quote types 2021-12-13 14:15:28 -08:00
cuddled-loop.expect
cuddled-loop.test t/chainlint/*.test: fix invalid test cases due to mixing quote types 2021-12-13 14:15:28 -08:00
cuddled.expect chainlint.sed: improve ?!AMP?! placement accuracy 2021-12-13 14:15:29 -08:00
cuddled.test t/chainlint/*.test: generalize self-test commentary 2021-12-13 14:15:28 -08:00
exit-loop.expect
exit-loop.test
exit-subshell.expect
exit-subshell.test
for-loop.expect chainlint.sed: improve ?!AMP?! placement accuracy 2021-12-13 14:15:29 -08:00
for-loop.test t/chainlint/*.test: fix invalid test cases due to mixing quote types 2021-12-13 14:15:28 -08:00
here-doc-close-subshell.expect
here-doc-close-subshell.test
here-doc-multi-line-command-subst.expect chainlint.sed: improve ?!AMP?! placement accuracy 2021-12-13 14:15:29 -08:00
here-doc-multi-line-command-subst.test
here-doc-multi-line-string.expect chainlint.sed: improve ?!AMP?! placement accuracy 2021-12-13 14:15:29 -08:00
here-doc-multi-line-string.test
here-doc.expect t/chainlint/*.test: fix invalid test cases due to mixing quote types 2021-12-13 14:15:28 -08:00
here-doc.test t/chainlint/*.test: fix invalid test cases due to mixing quote types 2021-12-13 14:15:28 -08:00
if-in-loop.expect chainlint.sed: improve ?!AMP?! placement accuracy 2021-12-13 14:15:29 -08:00
if-in-loop.test t/chainlint/*.test: fix invalid test cases due to mixing quote types 2021-12-13 14:15:28 -08:00
if-then-else.expect chainlint.sed: improve ?!AMP?! placement accuracy 2021-12-13 14:15:29 -08:00
if-then-else.test t/chainlint/*.test: fix invalid test cases due to mixing quote types 2021-12-13 14:15:28 -08:00
incomplete-line.expect
incomplete-line.test
inline-comment.expect chainlint.sed: improve ?!AMP?! placement accuracy 2021-12-13 14:15:29 -08:00
inline-comment.test
loop-in-if.expect chainlint.sed: improve ?!AMP?! placement accuracy 2021-12-13 14:15:29 -08:00
loop-in-if.test t/chainlint/*.test: fix invalid test cases due to mixing quote types 2021-12-13 14:15:28 -08:00
multi-line-nested-command-substitution.expect
multi-line-nested-command-substitution.test
multi-line-string.expect chainlint.sed: improve ?!AMP?! placement accuracy 2021-12-13 14:15:29 -08:00
multi-line-string.test t/chainlint/*.test: fix invalid test cases due to mixing quote types 2021-12-13 14:15:28 -08:00
negated-one-liner.expect chainlint.sed: drop unnecessary distinction between ?!AMP?! and ?!SEMI?! 2021-12-13 14:15:29 -08:00
negated-one-liner.test
nested-cuddled-subshell.expect chainlint.sed: improve ?!AMP?! placement accuracy 2021-12-13 14:15:29 -08:00
nested-cuddled-subshell.test
nested-here-doc.expect chainlint.sed: improve ?!AMP?! placement accuracy 2021-12-13 14:15:29 -08:00
nested-here-doc.test
nested-subshell-comment.expect chainlint.sed: improve ?!AMP?! placement accuracy 2021-12-13 14:15:29 -08:00
nested-subshell-comment.test t/chainlint/*.test: fix invalid test cases due to mixing quote types 2021-12-13 14:15:28 -08:00
nested-subshell.expect
nested-subshell.test t/chainlint/*.test: generalize self-test commentary 2021-12-13 14:15:28 -08:00
one-liner.expect chainlint.sed: drop unnecessary distinction between ?!AMP?! and ?!SEMI?! 2021-12-13 14:15:29 -08:00
one-liner.test t/chainlint/one-liner: avoid overly intimate chainlint.sed knowledge 2021-12-13 14:15:28 -08:00
p4-filespec.expect
p4-filespec.test
pipe.expect chainlint.sed: improve ?!AMP?! placement accuracy 2021-12-13 14:15:29 -08:00
pipe.test t/chainlint/*.test: fix invalid test cases due to mixing quote types 2021-12-13 14:15:28 -08:00
semicolon.expect chainlint.sed: drop unnecessary distinction between ?!AMP?! and ?!SEMI?! 2021-12-13 14:15:29 -08:00
semicolon.test t/chainlint/*.test: generalize self-test commentary 2021-12-13 14:15:28 -08:00
subshell-here-doc.expect chainlint.sed: improve ?!AMP?! placement accuracy 2021-12-13 14:15:29 -08:00
subshell-here-doc.test t/chainlint/*.test: fix invalid test cases due to mixing quote types 2021-12-13 14:15:28 -08:00
subshell-one-liner.expect chainlint.sed: drop unnecessary distinction between ?!AMP?! and ?!SEMI?! 2021-12-13 14:15:29 -08:00
subshell-one-liner.test
t7900-subtree.expect t/chainlint/*.test: fix invalid test cases due to mixing quote types 2021-12-13 14:15:28 -08:00
t7900-subtree.test t/chainlint/*.test: fix invalid test cases due to mixing quote types 2021-12-13 14:15:28 -08:00
while-loop.expect chainlint.sed: improve ?!AMP?! placement accuracy 2021-12-13 14:15:29 -08:00
while-loop.test t/chainlint/*.test: fix invalid test cases due to mixing quote types 2021-12-13 14:15:28 -08:00