Re: [PATCH 1/2] test-lib: quote TRASH_DIRECTORY
Jeff King venit, vidit, dixit 04.03.2016 12:51:
Show 32 quoted lines
> On Fri, Mar 04, 2016 at 11:53:49AM +0100, Michael J Gruber wrote:
>
>> We always quote $TRASH_DIRECTORY to guard against funky path names. Do
>> so in one more spot
>>
>> Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
>> ---
>> t/test-lib.sh | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/t/test-lib.sh b/t/test-lib.sh
>> index 0b47eb6..8957916 100644
>> --- a/t/test-lib.sh
>> +++ b/t/test-lib.sh
>> @@ -868,7 +868,7 @@ case "$TRASH_DIRECTORY" in
>> /*) ;; # absolute path is good
>> *) TRASH_DIRECTORY="$TEST_OUTPUT_DIRECTORY/$TRASH_DIRECTORY" ;;
>> esac
>> -test ! -z "$debug" || remove_trash=$TRASH_DIRECTORY
>> +test ! -z "$debug" || remove_trash="$TRASH_DIRECTORY"
>
> I don't think this does anything. The shell doesn't do whitespace
> splitting on the right-hand side of a variable assignment:
>
> $ foo='lots of spaces and "!'\'' funky chars'
> $ bar=$foo
> $ echo "$bar"
> lots of spaces and "!' funky chars
>
> Of course we _do_ need quotes when we refer to $remove_trash as an
> argument (as with "$bar" above), but it looks like we do so correctly
> everywhere.
I'm used to that behavior, yes, but:
- Is this true for every shell that we support?
- Having quotes there, too, is a good reminder to have it also where
necessary.
Michael