git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/2] test-lint: detect 'export FOO=bar'

From
Thomas Rast <trast@inf.ethz.ch>
Date
Jul 8, 2013, 15:20 UTC
Message-ID
<24ee18d3b06883c4185821f5ffb5faed26e6a436.1373296313.git.trast@inf.ethz.ch>
In-Reply-To
<b9e889a27f648c44179ad39159240867f86525f3.1373296313.git.trast@inf.ethz.ch>
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.
 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)';
 	# this resets our $. for each file
 	close ARGV if eof;
 }
-- 
1.8.3.2.947.g0347b11
Previous: Thomas RastNext: Torsten Bögershausen
Message 4 of 10 in “t0000: do not use export X=Y”
  1. t0000: do not use export X=YTorsten Bögershausen, Jul 8, 2013
  2. Thomas RastJul 8, 2013
  3. 1/2 t9902: fix 'test A == B' to use = operatorThomas Rast, Jul 8, 2013
  4. 2/2 test-lint: detect 'export FOO=bar'Thomas Rast, Jul 8, 2013
  5. Torsten BögershausenJul 8, 2013
  6. Thomas RastJul 9, 2013
  7. Torsten BögershausenJul 9, 2013
  8. Junio C HamanoJul 8, 2013
  9. Thomas RastJul 9, 2013
  10. Junio C HamanoJul 8, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.