Subject: Re: [PATCH tg/add-chmod+x-fix 2/2] t3700-add: protect one --chmod=+x test with POSIXPERM

From: Thomas Gummerer <[email-masked]>
Date: Thu, 22 Sep 2016 22:01:41 +0100

On 09/21, Junio C Hamano wrote:
> Johannes Sixt <[email-masked]> writes:
> 
> > But I came to a different conclusion as I said in a message that
> > crossed yours. I hope Thomas can pick up the baton again.

Sorry for not getting back earlier, my git time is quite limited
unfortunately.

> Yeah, our mails crossed, apparently, and I do agree with your
> reasoning.  How about this, then?

Thanks, both the reasoning and the patch below make sense to me.

> -- >8 -- 
> From: Johannes Sixt <[email-masked]>
> Date: Tue, 20 Sep 2016 08:18:25 +0200
> Subject: [PATCH] t3700-add: do not check working tree file mode without POSIXPERM
> 
> A recently introduced test checks the result of 'git status' after
> setting the executable bit on a file. This check does not yield the
> expected result when the filesystem does not support the executable
> bit.
> 
> What we care about is that a file added with "--chmod=+x" has
> executable bit in the index and that "--chmod=+x" (or any other
> options for that matter) does not muck with working tree files.
> The former is tested by other existing tests, so let's check the
> latter more explicitly and only under POSIXPERM prerequisite.
> 
> Signed-off-by: Johannes Sixt <[email-masked]>
> Signed-off-by: Junio C Hamano <[email-masked]>
> ---
>  t/t3700-add.sh | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/t/t3700-add.sh b/t/t3700-add.sh
> index 16ab2da..924a266 100755
> --- a/t/t3700-add.sh
> +++ b/t/t3700-add.sh
> @@ -361,13 +361,11 @@ test_expect_success 'git add --chmod=[+-]x changes index with already added file
>  	test_mode_in_index 100644 xfoo3
>  '
>  
> -test_expect_success 'file status is changed after git add --chmod=+x' '
> -	echo "AM foo4" >expected &&
> +test_expect_success POSIXPERM 'git add --chmod=[+-]x does not change the working tree' '
>  	echo foo >foo4 &&
>  	git add foo4 &&
>  	git add --chmod=+x foo4 &&
> -	git status -s foo4 >actual &&
> -	test_cmp expected actual
> +	! test -x foo4
>  '
>  
>  test_expect_success 'no file status change if no pathspec is given' '
> -- 
> 2.10.0-515-g9036219
> 

-- 
Thomas