tests: Introduce test_seq
commitd17cf5f3a32f07bf8a6b8fb014abfa8e87fd7075
authorMichał Kiedrowicz <michal.kiedrowicz@gmail.com>
Fri, 3 Aug 2012 22:21:04 +0000 (4 00:21 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sat, 4 Aug 2012 23:06:07 +0000 (4 16:06 -0700)
treec42e0218f1631c17ea5d5947cfc4276ed61fe758
parent0e4c8822e98e27c3c63125570c8bcbf0a8fd34da
tests: Introduce test_seq

Jeff King wrote:

The seq command is GNU-ism, and is missing at least in older BSD
releases and their derivatives, not to mention antique
commercial Unixes.

We already purged it in b3431bc (Don't use seq in tests, not
everyone has it, 2007-05-02), but a few new instances have crept
in. They went unnoticed because they are in scripts that are not
run by default.

Replace them with test_seq that is implemented with a Perl snippet
(proposed by Jeff).  This is better than inlining this snippet
everywhere it's needed because it's easier to read and it's easier
to change the implementation (e.g. to C) if we ever decide to remove
Perl from the test suite.

Note that test_seq is not a complete replacement for seq(1).  It
just has what we need now, in addition that it makes it possible for
us to do something like "test_seq a m" if we wanted to in the
future.

There are also many places that do `for i in 1 2 3 ...` but I'm not sure
if it's worth converting them to test_seq.  That would introduce running
more processes of Perl.

Signed-off-by: Michał Kiedrowicz <michal.kiedrowicz@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/perf/perf-lib.sh
t/t5551-http-fetch.sh
t/test-lib-functions.sh