tboegi@xxxxxx writes: > > Reviewed-by: Johannes Schindelin <Johannes.Schindelin@xxxxxx> > Signed-off-by: Torsten Bögershausen <tboegi@xxxxxx> I'll flip these and add a helped-by to credit Eric. check-non-portable-shell.pl: `wc -l` may have leading WS Test scripts count number of lines in an output and check it againt its expectation. fb3340a6 ("test-lib: introduce test_line_count to measure files", 2010-10-31) introduced a helper to show a failure in such a test in a more readable way than comparing `wc -l` output with a number. Besides, on some platforms, "$(wc -l <file)" is padded with leading whitespace on the left, so test "$(wc -l <file)" = 4 would not work (most notably on macosX); the users of test_line_count helper would not suffer from such a portability glitch. Add a check in check-non-portable-shell.pl to find '"' between `wc -l` and '=' and hint the user about test_line_count(). Signed-off-by: Torsten Bögershausen <tboegi@xxxxxx> Reviewed-by: Johannes Schindelin <Johannes.Schindelin@xxxxxx> Helped-by: Eric Sunshine <sunshine@xxxxxxxxxxxxxx> Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> > --- > t/check-non-portable-shell.pl | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/t/check-non-portable-shell.pl b/t/check-non-portable-shell.pl > index 03dc9d285..e07f02843 100755 > > Use () around the hint. > Thanks to Eric for the sharp eyes. > > --- a/t/check-non-portable-shell.pl > +++ b/t/check-non-portable-shell.pl Don't try to apply this patch to your tree yourself ;-) > @@ -21,6 +21,7 @@ while (<>) { > /^\s*declare\s+/ and err 'arrays/declare not portable'; > /^\s*[^#]\s*which\s/ and err 'which is not portable (please use type)'; > /\btest\s+[^=]*==/ and err '"test a == b" is not portable (please use =)'; > + /\bwc -l.*"\s*=/ and err '`"$(wc -l)"` is not portable (please use test_line_count)'; > /\bexport\s+[A-Za-z0-9_]*=/ and err '"export FOO=bar" is not portable (please use FOO=bar && export FOO)'; > # this resets our $. for each file > close ARGV if eof; Thanks. The dq before \s*= is rather cute ;-)