From: Eric Sunshine <sunshine@sunshineco.com>
To: git@vger.kernel.org
Cc: Jeff King <peff@peff.net>, Elijah Newren <newren@gmail.com>,
Fabian Stelzer <fs@gigacodes.de>,
Eric Sunshine <sunshine@sunshineco.com>
Subject: [PATCH 01/15] t/chainlint/*.test: don't use invalid shell syntax
Date: Mon, 13 Dec 2021 01:30:45 -0500 [thread overview]
Message-ID: <20211213063059.19424-2-sunshine@sunshineco.com> (raw)
In-Reply-To: <20211213063059.19424-1-sunshine@sunshineco.com>
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 --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
--
2.34.1.397.gfae76fe5da
next prev parent reply other threads:[~2021-12-13 6:32 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-13 6:30 [PATCH 00/15] generalize chainlint self-tests Eric Sunshine
2021-12-13 6:30 ` Eric Sunshine [this message]
2021-12-13 6:30 ` [PATCH 02/15] t/chainlint/*.test: fix invalid test cases due to mixing quote types Eric Sunshine
2021-12-13 6:30 ` [PATCH 03/15] t/chainlint/*.test: generalize self-test commentary Eric Sunshine
2021-12-13 6:30 ` [PATCH 04/15] t/chainlint/one-liner: avoid overly intimate chainlint.sed knowledge Eric Sunshine
2021-12-13 6:30 ` [PATCH 05/15] t/Makefile: optimize chainlint self-test Eric Sunshine
2021-12-13 10:09 ` [RFC PATCH] t/Makefile: use dependency graph for "check-chainlint" Ævar Arnfjörð Bjarmason
2021-12-14 7:44 ` Eric Sunshine
2021-12-14 12:34 ` Ævar Arnfjörð Bjarmason
2021-12-13 10:22 ` [PATCH 05/15] t/Makefile: optimize chainlint self-test Fabian Stelzer
2021-12-13 14:27 ` Eric Sunshine
2021-12-13 15:43 ` Fabian Stelzer
2021-12-13 16:02 ` Eric Sunshine
2021-12-13 16:11 ` Ævar Arnfjörð Bjarmason
2021-12-13 17:05 ` Eric Sunshine
2021-12-13 17:25 ` Eric Sunshine
2021-12-13 19:33 ` Ævar Arnfjörð Bjarmason
2021-12-13 21:37 ` Eric Sunshine
2021-12-13 16:14 ` Fabian Stelzer
2021-12-16 13:17 ` Ævar Arnfjörð Bjarmason
2021-12-16 15:47 ` Eric Sunshine
2021-12-16 19:26 ` Ævar Arnfjörð Bjarmason
2021-12-13 6:30 ` [PATCH 06/15] chainlint.sed: improve ?!AMP?! placement accuracy Eric Sunshine
2021-12-13 6:30 ` [PATCH 07/15] chainlint.sed: improve ?!SEMI?! " Eric Sunshine
2021-12-13 6:30 ` [PATCH 08/15] chainlint.sed: tolerate harmless ";" at end of last line in block Eric Sunshine
2021-12-13 6:30 ` [PATCH 09/15] chainlint.sed: drop unnecessary distinction between ?!AMP?! and ?!SEMI?! Eric Sunshine
2021-12-13 6:30 ` [PATCH 10/15] chainlint.sed: drop subshell-closing ">" annotation Eric Sunshine
2021-12-13 6:30 ` [PATCH 11/15] chainlint.sed: make here-doc "<<-" operator recognition more POSIX-like Eric Sunshine
2021-12-13 6:30 ` [PATCH 12/15] chainlint.sed: don't mistake `<< word` in string as here-doc operator Eric Sunshine
2021-12-13 6:30 ` [PATCH 13/15] chainlint.sed: stop throwing away here-doc tags Eric Sunshine
2021-12-13 6:30 ` [PATCH 14/15] chainlint.sed: swallow comments consistently Eric Sunshine
2021-12-13 6:30 ` [PATCH 15/15] chainlint.sed: stop splitting "(..." into separate lines "(" and "..." Eric Sunshine
2021-12-15 0:00 ` [PATCH 00/15] generalize chainlint self-tests Elijah Newren
2021-12-15 3:15 ` Eric Sunshine
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211213063059.19424-2-sunshine@sunshineco.com \
--to=sunshine@sunshineco.com \
--cc=fs@gigacodes.de \
--cc=git@vger.kernel.org \
--cc=newren@gmail.com \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).