The chainlint self-test code snippets are supposed to represent the body
of a test_expect_success() or test_expect_failure(), yet the contents of
these tests would have caused the shell to report syntax errors had they
been real test bodies. Although chainlint.sed, with its simplistic
heuristics, is blind to these syntactic problems, a future more robust
chainlint implementation might not have such a limitation, so make these
snippets syntactically valid.
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
?!AMP?! echo very
echo empty
elif test -z ""
+ then
echo foo
else
echo foo &&
(
if test -n ""; then
echo very &&
-?!AMP?! echo empty
- if
+ echo empty
+ fi
>)
# LINT: last statement before 'elif' does not need "&&"
echo empty
elif test -z ""
+ then
# LINT: last statement before 'else' does not need "&&"
echo foo
else
if test -n ""; then
echo very &&
echo empty
- if
+ fi
)
# LINT: missing "&&" on 'cat'
cat <<EOF >bip
fish fly high
- EOF
+EOF
# LINT: swallow here-doc (EOF is last line of subshell)
echo <<-\EOF >bop