Re: [PATCH v2 2/2] tests: fix and add lint for non-portable seq
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 23, 2018, 16:08 UTC
- Message-ID
- <xmqqefepjcam.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <20180823152502.3886-2-avarab@gmail.com>
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
> GNU seq is not a POSIX command, and doesn't exist on
s/GNU //; the command did not even originate there, but came from V8 and/or Plan9 IIRC.
Show 14 quoted lines
> e.g. OpenBSD. We've had the test_seq wrapper since d17cf5f3a3 ("tests:
> Introduce test_seq", 2012-08-04), but use of it keeps coming back,
> e.g. in the recently added "fetch negotiator" tests being added here.
>
> So let's also add a check to "make test-lint". The regex is aiming to
> capture the likes of $(seq ..) and "seq" as a stand-alone command,
> without capturing some existing cases where we e.g. have files called
> "seq".
>
> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> ---
>
> Now with a fix & check in v2 for the seq issue mentioned in
> https://public-inbox.org/git/87a7pdfltp.fsf@evledraar.gmail.com/Thanks.
Show 14 quoted lines
> t/check-non-portable-shell.pl | 1 +
> t/t5552-skipping-fetch-negotiator.sh | 12 ++++++------
> t/t5703-upload-pack-ref-in-want.sh | 4 ++--
> 3 files changed, 9 insertions(+), 8 deletions(-)
>
> diff --git a/t/check-non-portable-shell.pl b/t/check-non-portable-shell.pl
> index c8f10d40a1..75f38298d7 100755
> --- a/t/check-non-portable-shell.pl
> +++ b/t/check-non-portable-shell.pl
> @@ -42,6 +42,7 @@ sub err {
> /\btest\s+[^=]*==/ and err '"test a == b" is not portable (use =)';
> /\bwc -l.*"\s*=/ and err '`"$(wc -l)"` is not portable (use test_line_count)';
> /\bhead\s+-c\b/ and err 'head -c is not portable (use test_copy_bytes BYTES <file >out)';
> + /(?:\$\(seq|^\s*seq\b)/ and err 'seq is not portable (use test_seq)';Looking at $(wc -l) thing a few lines above, I am not sure if this deviation is a good idea. Wouldn't /\bseq\s/ be sufficient?