git/t/chainlint/if-then-else.test
Eric Sunshine 5459bc1bbb t/chainlint/*.test: fix invalid test cases due to mixing quote types
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
a few tests would have caused the shell to report syntax errors had they
been real test bodies due to the mix of single- and double-quotes.
Although chainlint.sed, with its simplistic heuristics, is blind to this
problem, a future more robust chainlint implementation might not have
such a limitation. Therefore, stop mixing quote types haphazardly in
those tests and unify quoting throughout. While at it, drop chunks of
tests which merely repeat what is already tested elsewhere but with
alternative quotes.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-12-13 14:15:28 -08:00

30 lines
529 B
Plaintext

(
# LINT: "if", "then", "elif", "else", "fi" do not need "&&"
if test -n ""
then
# LINT: missing "&&" on "echo"
echo very
# 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
echo foo &&
# LINT: last statement before "fi" does not need "&&"
cat <<-\EOF
bar
EOF
# LINT: missing "&&" on "fi"
fi
echo poodle
) &&
(
# LINT: "then" on same line as "if"
if test -n ""; then
echo very &&
echo empty
fi
)