All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Sunshine <sunshine@sunshineco.com>
To: matvore@google.com
Cc: Git List <git@vger.kernel.org>, Jeff King <peff@peff.net>,
	Jonathan Tan <jonathantanmy@google.com>,
	Junio C Hamano <gitster@pobox.com>,
	Jonathan Nieder <jrn@google.com>
Subject: Re: [PATCH v2 4/6] tests: Add linter check for pipe placement style
Date: Mon, 17 Sep 2018 20:34:07 -0400	[thread overview]
Message-ID: <CAPig+cTO=BJ+-6+73fDmdWX7axCZvsyKMxE0E1bhGX-YUFrR-w@mail.gmail.com> (raw)
In-Reply-To: <44ee2bd27b510d4216525e24aa1734a1f5edbd95.1537222670.git.matvore@google.com>

On Mon, Sep 17, 2018 at 6:25 PM Matthew DeVore <matvore@google.com> wrote:
> tests: Add linter check for pipe placement style

Until now, the various "lint" checks have been for genuine portability
problems (except perhaps 'test-lint-duplicates'). This new lint check
makes style violations worthy of failing "make test". Is the indeed
the direction we want to go? (Genuine question. I can formulate
arguments for either side.)

> ---
> diff --git a/t/Makefile b/t/Makefile
> @@ -101,6 +101,16 @@ test-lint-filenames:
> +test-lint-pipes:
> +       @# Do not use \ to join lines when the next line starts with a
> +       @# pipe. Instead, end the prior line with the pipe, and allow that to
> +       @# join the lines implicitly.
> +       @bad="$$(${PERL_PATH} -n0e 'm/(\n[^\n|]+\\\n[\t ]+\|[^\n]*)/ and \
> +             print qq{$$ARGV:$$1\n\n}' $(T))"; \
> +               test -z "$$bad" || { \
> +               printf >&2 "pipe at start of line in file(s):\n%s\n" "$$bad"; \
> +               exit 1; }

If we're going in the direction of linting style violations, then
maybe generalize this by calling it "test-lint-style" rather than
"test-lint-pipes", and perhaps move the body of the test to a new
script check-shell-style.pl (or something), much as portability
violations are housed in check-non-portable-shell.pl.

  reply	other threads:[~2018-09-18  0:34 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-15  0:02 [PATCH v1 0/2] Cleanup tests for test_cmp argument ordering and "|" placement Matthew DeVore
2018-09-15  0:02 ` [PATCH v1 1/2] t/*: fix pipe placement and remove \'s Matthew DeVore
2018-09-17 16:31   ` Jonathan Nieder
2018-09-17 21:47     ` Matthew DeVore
2018-09-15  0:02 ` [PATCH v1 2/2] t/*: fix ordering of expected/observed arguments Matthew DeVore
2018-09-17 12:56   ` Matthew DeVore
2018-09-15 15:55 ` [PATCH v1 0/2] Cleanup tests for test_cmp argument ordering and "|" placement Junio C Hamano
2018-09-17 22:24 ` [PATCH v2 0/6] Clean up tests for test_cmp arg ordering and pipe placement Matthew DeVore
2018-09-17 22:24   ` [PATCH v2 4/6] tests: Add linter check for pipe placement style Matthew DeVore
2018-09-18  0:34     ` Eric Sunshine [this message]
2018-09-19 17:39       ` Matthew DeVore
     [not found] ` <cover.1537223021.git.matvore@google.com>
2018-09-17 22:24   ` [PATCH v2 1/6] CodingGuidelines: add shell piping guidelines Matthew DeVore
2018-09-18  0:16     ` Eric Sunshine
2018-09-19  2:11       ` Matthew DeVore
2018-09-19 12:36         ` Eric Sunshine
2018-09-19 14:24         ` Junio C Hamano
2018-09-19 20:06           ` Matthew DeVore
2018-09-17 22:24   ` [PATCH v2 2/6] tests: standardize pipe placement Matthew DeVore
2018-09-17 22:24   ` [PATCH v2 3/6] t/*: fix ordering of expected/observed arguments Matthew DeVore
2018-09-17 22:24   ` [PATCH v2 4/6] tests: add linter check for pipe placement style Matthew DeVore
2018-09-17 22:24   ` [PATCH v2 5/6] tests: split up pipes Matthew DeVore
2018-09-18  1:30     ` Eric Sunshine
2018-09-19  2:33       ` Matthew DeVore
2018-09-17 22:24   ` [PATCH v2 6/6] t9109-git-svn-props.sh: split up several pipes Matthew DeVore
2018-09-18  1:56     ` Eric Sunshine
2018-09-19  2:56       ` Matthew DeVore
2018-09-19 12:50         ` Eric Sunshine
2018-09-19 18:43           ` Matthew DeVore
2018-09-21  1:43 ` [PATCH v3 0/5] Clean up tests for test_cmp arg ordering and pipe placement Matthew DeVore
2018-09-21  1:43   ` [PATCH v3 1/5] CodingGuidelines: add shell piping guidelines Matthew DeVore
2018-09-21  2:06     ` Eric Sunshine
2018-09-21 21:03       ` Matthew DeVore
2018-09-24 21:03     ` SZEDER Gábor
2018-09-25 21:58       ` Matthew DeVore
2018-09-27 21:18         ` SZEDER Gábor
2018-10-01 23:07           ` Matthew DeVore
2018-09-21  1:43   ` [PATCH v3 2/5] tests: standardize pipe placement Matthew DeVore
2018-09-21  1:43   ` [PATCH v3 3/5] t/*: fix ordering of expected/observed arguments Matthew DeVore
2018-09-21  1:43   ` [PATCH v3 4/5] tests: don't swallow Git errors upstream of pipes Matthew DeVore
2018-09-21  1:43   ` [PATCH v3 5/5] t9109: " Matthew DeVore
2018-10-03 16:25 ` [PATCH v4 0/7] Clean up tests for test_cmp arg ordering and pipe placement Matthew DeVore
2018-10-03 16:25   ` [PATCH v4 1/7] t/README: reformat Do, Don't, Keep in mind lists Matthew DeVore
2018-10-05  6:15     ` Junio C Hamano
2018-10-05 14:57       ` Matthew DeVore
2018-10-03 16:26   ` [PATCH v4 2/7] Documentation: add shell guidelines Matthew DeVore
2018-10-05 16:48     ` Junio C Hamano
2018-10-05 18:21       ` Matthew DeVore
2018-10-03 16:26   ` [PATCH v4 3/7] tests: standardize pipe placement Matthew DeVore
2018-10-03 16:26   ` [PATCH v4 4/7] t/*: fix ordering of expected/observed arguments Matthew DeVore
2018-10-03 16:26   ` [PATCH v4 5/7] tests: don't swallow Git errors upstream of pipes Matthew DeVore
2018-10-05 16:48     ` Junio C Hamano
2018-10-05 17:54       ` Matthew DeVore
2018-10-05 18:12         ` Matthew DeVore
2018-10-03 16:26   ` [PATCH v4 6/7] t9109: " Matthew DeVore
2018-10-03 16:26   ` [PATCH v4 7/7] tests: order arguments to git-rev-list properly Matthew DeVore
2018-10-03 16:33     ` Matthew DeVore
2018-10-05  8:16       ` Junio C Hamano
2018-10-05 21:54 ` [PATCH v5 0/7] subject: Clean up tests for test_cmp arg ordering and pipe placement Matthew DeVore
2018-10-05 21:54   ` [PATCH v5 1/7] t/README: reformat Do, Don't, Keep in mind lists Matthew DeVore
2018-10-05 21:54   ` [PATCH v5 2/7] Documentation: add shell guidelines Matthew DeVore
2018-10-05 21:54   ` [PATCH v5 3/7] tests: standardize pipe placement Matthew DeVore
2018-10-05 21:54   ` [PATCH v5 4/7] t/*: fix ordering of expected/observed arguments Matthew DeVore
2018-10-05 21:54   ` [PATCH v5 5/7] tests: don't swallow Git errors upstream of pipes Matthew DeVore
2018-10-05 21:54   ` [PATCH v5 6/7] t9109: " Matthew DeVore
2018-10-05 21:54   ` [PATCH v5 7/7] tests: order arguments to git-rev-list properly Matthew DeVore
2018-10-06 23:53   ` [PATCH v5 0/7] subject: Clean up tests for test_cmp arg ordering and pipe placement Junio C Hamano

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='CAPig+cTO=BJ+-6+73fDmdWX7axCZvsyKMxE0E1bhGX-YUFrR-w@mail.gmail.com' \
    --to=sunshine@sunshineco.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jonathantanmy@google.com \
    --cc=jrn@google.com \
    --cc=matvore@google.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.