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>
This commit is contained in:
parent
925d7304d2
commit
5459bc1bbb
@ -1,6 +1,6 @@
|
||||
(
|
||||
foo &&
|
||||
# LINT: missing "&&" from 'bar'
|
||||
# LINT: missing "&&" from "bar"
|
||||
bar
|
||||
baz &&
|
||||
# LINT: final statement before closing ")" legitimately lacks "&&"
|
||||
|
@ -1,5 +1,5 @@
|
||||
(
|
||||
# LINT: "...)" arms in 'case' not misinterpreted as subshell-closing ")"
|
||||
# LINT: "...)" arms in "case" not misinterpreted as subshell-closing ")"
|
||||
case "$x" in
|
||||
x) foo ;;
|
||||
*) bar ;;
|
||||
@ -7,7 +7,7 @@
|
||||
foobar
|
||||
) &&
|
||||
(
|
||||
# LINT: missing "&&" on 'esac'
|
||||
# LINT: missing "&&" on "esac"
|
||||
case "$x" in
|
||||
x) foo ;;
|
||||
*) bar ;;
|
||||
@ -15,7 +15,7 @@
|
||||
foobar
|
||||
) &&
|
||||
(
|
||||
# LINT: "...)" arm in one-liner 'case' not misinterpreted as closing ")"
|
||||
# LINT: "...)" arm in one-liner "case" not misinterpreted as closing ")"
|
||||
case "$x" in 1) true;; esac &&
|
||||
# LINT: same but missing "&&"
|
||||
case "$y" in 2) false;; esac
|
||||
|
@ -1,4 +1,4 @@
|
||||
# LINT: 'for' loop cuddled with "(" and ")" and nested 'if' with complex
|
||||
# LINT: "for" loop cuddled with "(" and ")" and nested "if" with complex
|
||||
# LINT: multi-line condition; indented with spaces, not tabs
|
||||
(for i in a b c; do
|
||||
if test "$(echo $(waffle bat))" = "eleventeen" &&
|
||||
|
@ -1,4 +1,4 @@
|
||||
# LINT: 'if' cuddled with "(" and ")"; indented with spaces, not tabs
|
||||
# LINT: "if" cuddled with "(" and ")"; indented with spaces, not tabs
|
||||
(if test -z ""; then
|
||||
echo empty
|
||||
else
|
||||
|
@ -1,4 +1,4 @@
|
||||
# LINT: 'while' loop cuddled with "(" and ")", with embedded (allowed)
|
||||
# LINT: "while" loop cuddled with "(" and ")", with embedded (allowed)
|
||||
# LINT: "|| exit {n}" to exit loop early, and using redirection "<" to feed
|
||||
# LINT: loop; indented with spaces, not tabs
|
||||
( while read x
|
||||
|
@ -1,17 +1,17 @@
|
||||
(
|
||||
# LINT: 'for', 'do', 'done' do not need "&&"
|
||||
# LINT: "for", "do", "done" do not need "&&"
|
||||
for i in a b c
|
||||
do
|
||||
# LINT: missing "&&" on 'echo'
|
||||
# LINT: missing "&&" on "echo"
|
||||
echo $i
|
||||
# LINT: last statement of while does not need "&&"
|
||||
cat <<-\EOF
|
||||
bar
|
||||
EOF
|
||||
# LINT: missing "&&" on 'done'
|
||||
# LINT: missing "&&" on "done"
|
||||
done
|
||||
|
||||
# LINT: 'do' on same line as 'for'
|
||||
# LINT: "do" on same line as "for"
|
||||
for i in a b c; do
|
||||
echo $i &&
|
||||
cat $i
|
||||
|
@ -2,8 +2,6 @@ boodle wobba gorgo snoot wafta snurb &&
|
||||
|
||||
cat >foo &&
|
||||
|
||||
cat >bar &&
|
||||
|
||||
cat >boo &&
|
||||
|
||||
horticulture
|
||||
|
@ -14,13 +14,6 @@ boz
|
||||
woz
|
||||
Arbitrary_Tag_42
|
||||
|
||||
# LINT: swallow 'quoted' here-doc
|
||||
cat <<'FUMP' >bar &&
|
||||
snoz
|
||||
boz
|
||||
woz
|
||||
FUMP
|
||||
|
||||
# LINT: swallow "quoted" here-doc
|
||||
cat <<"zump" >boo &&
|
||||
snoz
|
||||
|
@ -3,13 +3,13 @@
|
||||
do
|
||||
if false
|
||||
then
|
||||
# LINT: missing "&&" on 'echo'
|
||||
# LINT: missing "&&" on "echo"
|
||||
echo "err"
|
||||
exit 1
|
||||
# LINT: missing "&&" on 'fi'
|
||||
# LINT: missing "&&" on "fi"
|
||||
fi
|
||||
foo
|
||||
# LINT: missing "&&" on 'done'
|
||||
# LINT: missing "&&" on "done"
|
||||
done
|
||||
bar
|
||||
)
|
||||
|
@ -1,27 +1,27 @@
|
||||
(
|
||||
# LINT: 'if', 'then', 'elif', 'else', 'fi' do not need "&&"
|
||||
# LINT: "if", "then", "elif", "else", "fi" do not need "&&"
|
||||
if test -n ""
|
||||
then
|
||||
# LINT: missing "&&" on 'echo'
|
||||
# LINT: missing "&&" on "echo"
|
||||
echo very
|
||||
# LINT: last statement before 'elif' does not need "&&"
|
||||
# LINT: last statement before "elif" does not need "&&"
|
||||
echo empty
|
||||
elif test -z ""
|
||||
then
|
||||
# LINT: last statement before 'else' does not need "&&"
|
||||
# LINT: last statement before "else" does not need "&&"
|
||||
echo foo
|
||||
else
|
||||
echo foo &&
|
||||
# LINT: last statement before 'fi' does not need "&&"
|
||||
# LINT: last statement before "fi" does not need "&&"
|
||||
cat <<-\EOF
|
||||
bar
|
||||
EOF
|
||||
# LINT: missing "&&" on 'fi'
|
||||
# LINT: missing "&&" on "fi"
|
||||
fi
|
||||
echo poodle
|
||||
) &&
|
||||
(
|
||||
# LINT: 'then' on same line as 'if'
|
||||
# LINT: "then" on same line as "if"
|
||||
if test -n ""; then
|
||||
echo very &&
|
||||
echo empty
|
||||
|
@ -3,13 +3,13 @@
|
||||
then
|
||||
while true
|
||||
do
|
||||
# LINT: missing "&&" on 'echo'
|
||||
# LINT: missing "&&" on "echo"
|
||||
echo "pop"
|
||||
echo "glup"
|
||||
# LINT: missing "&&" on 'done'
|
||||
# LINT: missing "&&" on "done"
|
||||
done
|
||||
foo
|
||||
# LINT: missing "&&" on 'fi'
|
||||
# LINT: missing "&&" on "fi"
|
||||
fi
|
||||
bar
|
||||
)
|
||||
|
@ -1,15 +1,9 @@
|
||||
(
|
||||
x="line 1 line 2 line 3" &&
|
||||
?!AMP?! y='line 1 line2'
|
||||
?!AMP?! y="line 1 line2"
|
||||
foobar
|
||||
>) &&
|
||||
(
|
||||
echo "there's nothing to see here" &&
|
||||
exit
|
||||
>) &&
|
||||
(
|
||||
echo "xyz" "abc def ghi" &&
|
||||
echo 'xyz' 'abc def ghi' &&
|
||||
echo 'xyz' "abc def ghi" &&
|
||||
barfoo
|
||||
>)
|
||||
|
@ -3,25 +3,13 @@
|
||||
line 2
|
||||
line 3" &&
|
||||
# LINT: missing "&&" on assignment
|
||||
y='line 1
|
||||
line2'
|
||||
y="line 1
|
||||
line2"
|
||||
foobar
|
||||
) &&
|
||||
(
|
||||
# LINT: apostrophe (in a contraction) within string not misinterpreted as
|
||||
# LINT: starting multi-line single-quoted string
|
||||
echo "there's nothing to see here" &&
|
||||
exit
|
||||
) &&
|
||||
(
|
||||
echo "xyz" "abc
|
||||
def
|
||||
ghi" &&
|
||||
echo 'xyz' 'abc
|
||||
def
|
||||
ghi' &&
|
||||
echo 'xyz' "abc
|
||||
def
|
||||
ghi" &&
|
||||
barfoo
|
||||
)
|
||||
|
@ -7,7 +7,7 @@
|
||||
# minor numbers of cows (or do they?)
|
||||
baz &&
|
||||
snaff
|
||||
# LINT: missing "&&" on ')'
|
||||
# LINT: missing "&&" on ")"
|
||||
)
|
||||
fuzzy
|
||||
)
|
||||
|
@ -4,7 +4,7 @@
|
||||
bar |
|
||||
baz &&
|
||||
|
||||
# LINT: final line of pipe sequence ('cow') lacking "&&"
|
||||
# LINT: final line of pipe sequence ("cow") lacking "&&"
|
||||
fish |
|
||||
cow
|
||||
|
||||
|
@ -5,7 +5,6 @@
|
||||
>) &&
|
||||
(
|
||||
cat >bup &&
|
||||
cat >bup2 &&
|
||||
cat >bup3 &&
|
||||
meep
|
||||
>)
|
||||
|
@ -8,7 +8,7 @@
|
||||
nevermore...
|
||||
EOF
|
||||
|
||||
# LINT: missing "&&" on 'cat'
|
||||
# LINT: missing "&&" on "cat"
|
||||
cat <<EOF >bip
|
||||
fish fly high
|
||||
EOF
|
||||
@ -27,10 +27,6 @@ EOF
|
||||
glink
|
||||
FIZZ
|
||||
ARBITRARY
|
||||
cat <<-'ARBITRARY2' >bup2 &&
|
||||
glink
|
||||
FIZZ
|
||||
ARBITRARY2
|
||||
cat <<-"ARBITRARY3" >bup3 &&
|
||||
glink
|
||||
FIZZ
|
||||
|
@ -1,9 +1,9 @@
|
||||
(
|
||||
chks="sub1sub2sub3sub4" &&
|
||||
chks_sub=$(cat | sed 's,^,sub dir/,'
|
||||
chks_sub=$(cat | sed "s,^,sub dir/,"
|
||||
>>) &&
|
||||
chkms="main-sub1main-sub2main-sub3main-sub4" &&
|
||||
chkms_sub=$(cat | sed 's,^,sub dir/,'
|
||||
chkms_sub=$(cat | sed "s,^,sub dir/,"
|
||||
>>) &&
|
||||
subfiles=$(git ls-files) &&
|
||||
check_equal "$subfiles" "$chkms$chks"
|
||||
|
@ -3,7 +3,7 @@
|
||||
sub2
|
||||
sub3
|
||||
sub4" &&
|
||||
chks_sub=$(cat <<TXT | sed 's,^,sub dir/,'
|
||||
chks_sub=$(cat <<TXT | sed "s,^,sub dir/,"
|
||||
$chks
|
||||
TXT
|
||||
) &&
|
||||
@ -11,7 +11,7 @@ TXT
|
||||
main-sub2
|
||||
main-sub3
|
||||
main-sub4" &&
|
||||
chkms_sub=$(cat <<TXT | sed 's,^,sub dir/,'
|
||||
chkms_sub=$(cat <<TXT | sed "s,^,sub dir/,"
|
||||
$chkms
|
||||
TXT
|
||||
) &&
|
||||
|
@ -1,17 +1,17 @@
|
||||
(
|
||||
# LINT: 'while, 'do', 'done' do not need "&&"
|
||||
# LINT: "while", "do", "done" do not need "&&"
|
||||
while true
|
||||
do
|
||||
# LINT: missing "&&" on 'echo'
|
||||
# LINT: missing "&&" on "echo"
|
||||
echo foo
|
||||
# LINT: last statement of while does not need "&&"
|
||||
cat <<-\EOF
|
||||
bar
|
||||
EOF
|
||||
# LINT: missing "&&" on 'done'
|
||||
# LINT: missing "&&" on "done"
|
||||
done
|
||||
|
||||
# LINT: 'do' on same line as 'while'
|
||||
# LINT: "do" on same line as "while"
|
||||
while true; do
|
||||
echo foo &&
|
||||
cat bar
|
||||
|
Loading…
x
Reference in New Issue
Block a user