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

Re: [PATCH v4] tests: use "env" to run commands with temporary env-var settings

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 20, 2014, 19:25 UTC
Message-ID
<xmqqd2hgy8n7.fsf@gitster.dls.corp.google.com>
In-Reply-To
<1395312670-1843-1-git-send-email-unsignedzero@gmail.com>
David Tran <unsignedzero@gmail.com> writes:
Show 28 quoted lines
> Ordinarily, we would say "VAR=VAL command" to execute a tested command with
> environment variable(s) set only for that command. This however does not work
> if 'command' is a shell function (most notably 'test_must_fail'); the result
> of the assignment is retained and affects later commands.
>
> To avoid this, we assigned and exported the environment variables and run such
> test(s) in a subshell like this,
>
> 	(
> 		VAR=VAL &&
> 		export VAR &&
> 		test_must_fail git command to be tested
> 	)
>
> Using the "env" utility, we should be able to say
>
> 	test_must_fail git command to be tested
>
> which is much shorter and easier to read.
>
> Signed-off-by: David Tran <unsignedzero@gmail.com>
>
> ---
> ...
>>Looks familiar ;-) but it seems the changes from the original you
>>took it from all look worsening, not improvements, to me.
> I learn more from rewriting than copying and pasting but I'll change most of it
> back then.
Sigh.  Your edits again butchered the correctness.

Re-read your "this is a new and better way to write test_must_fail" example above, and compare it with what was queued on 'pu'.

I think we are hitting the point of diminishing or negative returns at this point. Let's keep 512477b1 (tests: use "env" to run commands with temporary env-var settings, 2014-03-18) and go forward with it.

Thanks.
Previous: David Tran
Message 2 of 2 in “tests: use "env" to run commands with temporary env-var settings”
  1. tests: use "env" to run commands with temporary env-var settingsDavid Tran, Mar 20, 2014
  2. Junio C HamanoMar 20, 2014

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.