]> Kevux Git Server - rit/commitdiff
t/chainlint/*.test: fix invalid test cases due to mixing quote types
authorEric Sunshine <sunshine@sunshineco.com>
Mon, 13 Dec 2021 06:30:46 +0000 (01:30 -0500)
committerJunio C Hamano <gitster@pobox.com>
Mon, 13 Dec 2021 22:15:28 +0000 (14:15 -0800)
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>
20 files changed:
t/chainlint/broken-chain.test
t/chainlint/case.test
t/chainlint/complex-if-in-cuddled-loop.test
t/chainlint/cuddled-if-then-else.test
t/chainlint/cuddled-loop.test
t/chainlint/for-loop.test
t/chainlint/here-doc.expect
t/chainlint/here-doc.test
t/chainlint/if-in-loop.test
t/chainlint/if-then-else.test
t/chainlint/loop-in-if.test
t/chainlint/multi-line-string.expect
t/chainlint/multi-line-string.test
t/chainlint/nested-subshell-comment.test
t/chainlint/pipe.test
t/chainlint/subshell-here-doc.expect
t/chainlint/subshell-here-doc.test
t/chainlint/t7900-subtree.expect
t/chainlint/t7900-subtree.test
t/chainlint/while-loop.test

index 3cc67b6..2a44aa7 100644 (file)
@@ -1,6 +1,6 @@
 (
        foo &&
-# LINT: missing "&&" from 'bar'
+# LINT: missing "&&" from "bar"
        bar
        baz &&
 # LINT: final statement before closing ")" legitimately lacks "&&"
index 5ef6ff7..4cb086b 100644 (file)
@@ -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
index 571bbd8..5efeda5 100644 (file)
@@ -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" &&
index eed774a..7c53f4e 100644 (file)
@@ -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
index a841d78..3c2a62f 100644 (file)
@@ -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
index 7db7626..6cb3428 100644 (file)
@@ -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
index 534b065..8449eb2 100644 (file)
@@ -2,8 +2,6 @@ boodle wobba        gorgo snoot        wafta snurb &&
 
 cat >foo &&
 
-cat >bar &&
-
 cat >boo &&
 
 horticulture
index ad4ce8a..3f5f92c 100644 (file)
@@ -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
index daf22da..f0cf19c 100644 (file)
@@ -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
 )
index d2b03ca..2055336 100644 (file)
@@ -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
index 93e8ba8..dfcc3f9 100644 (file)
@@ -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
 )
index 170cb59..2829516 100644 (file)
@@ -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
 >)
index 287ab89..4a0af21 100644 (file)
@@ -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
 )
index 0ff136a..0215cdb 100644 (file)
@@ -7,7 +7,7 @@
                # minor numbers of cows (or do they?)
                baz &&
                snaff
-# LINT: missing "&&" on ')'
+# LINT: missing "&&" on ")"
        )
        fuzzy
 )
index e6af4de..dd82534 100644 (file)
@@ -4,7 +4,7 @@
        bar |
        baz &&
 
-# LINT: final line of pipe sequence ('cow') lacking "&&"
+# LINT: final line of pipe sequence ("cow") lacking "&&"
        fish |
        cow
 
index 74723e7..7e057ae 100644 (file)
@@ -5,7 +5,6 @@
 >) &&
 (
        cat >bup &&
-       cat >bup2 &&
        cat >bup3 &&
        meep
 >)
index 0cce907..d40eb65 100644 (file)
@@ -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
index c991342..f769244 100644 (file)
@@ -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"
index 277d835..02f3129 100644 (file)
@@ -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
 ) &&
index f1df085..d09fb01 100644 (file)
@@ -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