Re: [PATCH 2/2] test-lint: detect 'export FOO=bar'
On 2013-07-08 17.20, Thomas Rast wrote:
Show 22 quoted lines
> Some shells do not understand the one-line construct, and instead need
>
> FOO=bar &&
> export FOO
>
> Detect this in the test-lint target.
>
> Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
> ---
>
> I wrote:
>
>> Torsten Bögershausen <tboegi@web.de> writes:
> [...]
>>> - export HARNESS_ACTIVE=t &&
>>> + HARNESS_ACTIVE=t &&
>>> + export HARNESS_ACTIVE &&
> [...]
>> Ack. Sorry for breaking this -- I suppose test-lint would have caught
>> me out?
>
> Well, no, not yet.
Thanks for working on this
Show 14 quoted lines
>
>
> 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 8b5a71d..45971f4 100755
> --- a/t/check-non-portable-shell.pl
> +++ b/t/check-non-portable-shell.pl
> @@ -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)';
> /test\s+[^=]*==/ and err '"test a == b" is not portable (please use =)';
> + /^\s*export\s+[^=]*=/ and err '"export FOO=bar" is not portable (please use FOO=bar && export FOO)';I have a slightly tighter reg exp in my tree, but credits should go to Thomas:
/^\s*export\s+\S+=\S+/
/Torsten