On 22/11/16 07:43, Bernhard Voelker wrote:
> On 11/22/2016 03:00 AM, Pádraig Brady wrote:
>> Subject: [PATCH 2/3] tests: fix false fails due to passing env vars to
>>  returns_
>>
>> On BSD /bin/sh it was seen that unexported env vars passed to
>> returns_() would not be propagated to the wrapped command.
> 
> While the new syntax-check LGTM ...
> 
>> --- a/tests/misc/printenv.sh
>> +++ b/tests/misc/printenv.sh
>> @@ -59,8 +59,10 @@ EOF
>>  compare exp out || fail=1
>>  
>>  # Exit status reflects missing variable, but remaining arguments processed.
>> -ENV_TEST1=a returns_ 1 env -- printenv ENV_TEST2 ENV_TEST1 > out || fail=1
>> -ENV_TEST1=a returns_ 1 env -- printenv ENV_TEST1 ENV_TEST2 >> out || fail=1
>> +ENV_TEST1=a env -- printenv ENV_TEST2 ENV_TEST1 > out
>> +test $? = 1 || fail=1
>> +ENV_TEST1=a env -- printenv ENV_TEST1 ENV_TEST2 >> out
>> +test $? = 1 || fail=1
> 
> ...IMO going away from using returns_ is a step backward.
> 
> What about the following which I find nicer to read?
> I'd also prefer to use export+unset to avoid a subshell.
> 
> -ENV_TEST1=a returns_ 1 env -- printenv ENV_TEST2 ENV_TEST1 > out || fail=1
> -ENV_TEST1=a returns_ 1 env -- printenv ENV_TEST1 ENV_TEST2 >> out || fail=1
> +export ENV_TEST1=a
> +returns_ 1 env -- printenv ENV_TEST2 ENV_TEST1 > out || fail=1
> +returns_ 1 env -- printenv ENV_TEST1 ENV_TEST2 >> out || fail=1
> +unset ENV_TEST1
> 
> WDYT?

ack



Reply via email to