]> Kevux Git Server - rit/commitdiff
t/chainlint/*.test: don't use invalid shell syntax
authorEric Sunshine <sunshine@sunshineco.com>
Mon, 13 Dec 2021 06:30:45 +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
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>
t/chainlint/if-then-else.expect
t/chainlint/if-then-else.test
t/chainlint/subshell-here-doc.test

index 5953c7b..a80f5e6 100644 (file)
@@ -4,6 +4,7 @@
 ?!AMP?!                echo very
                echo empty
        elif test -z ""
+       then
                echo foo
        else
                echo foo &&
@@ -14,6 +15,6 @@
 (
        if test -n ""; then
                echo very &&
-?!AMP?!                echo empty
-       if
+               echo empty
+       fi
 >)
index 9bd8e9a..d2b03ca 100644 (file)
@@ -7,6 +7,7 @@
 # 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
@@ -24,5 +25,5 @@
        if test -n ""; then
                echo very &&
                echo empty
-       if
+       fi
 )
index f6b3ba4..0cce907 100644 (file)
@@ -11,7 +11,7 @@
 # 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