diff mbox series

[01/15] t/chainlint/*.test: don't use invalid shell syntax

Message ID 20211213063059.19424-2-sunshine@sunshineco.com (mailing list archive)
State Accepted
Commit 925d7304d2a5f5dda9fbe3f541338bb87083f6b2
Headers show
Series generalize chainlint self-tests | expand

Commit Message

Eric Sunshine Dec. 13, 2021, 6:30 a.m. UTC
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>
---
 t/chainlint/if-then-else.expect    | 5 +++--
 t/chainlint/if-then-else.test      | 3 ++-
 t/chainlint/subshell-here-doc.test | 2 +-
 3 files changed, 6 insertions(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/t/chainlint/if-then-else.expect b/t/chainlint/if-then-else.expect
index 5953c7bfbc..a80f5e6c75 100644
--- a/t/chainlint/if-then-else.expect
+++ b/t/chainlint/if-then-else.expect
@@ -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
 >)
diff --git a/t/chainlint/if-then-else.test b/t/chainlint/if-then-else.test
index 9bd8e9a4c6..d2b03ca6b4 100644
--- a/t/chainlint/if-then-else.test
+++ b/t/chainlint/if-then-else.test
@@ -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
 )
diff --git a/t/chainlint/subshell-here-doc.test b/t/chainlint/subshell-here-doc.test
index f6b3ba4214..0cce907ba8 100644
--- a/t/chainlint/subshell-here-doc.test
+++ b/t/chainlint/subshell-here-doc.test
@@ -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