Ævar Arnfjörð Bjarmason <[email protected]> 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.
> 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 <[email protected]>
> ---
>
> Now with a fix & check in v2 for the seq issue mentioned in
> https://public-inbox.org/git/[email protected]/
Thanks.
> 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?