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

From: Junio C Hamano <[email-masked]>
Date: Thu, 20 Mar 2014 12:25:48 -0700

David Tran <[email-masked]> writes:

> 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 <[email-masked]>
>
> ---
> ...
>>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.