# [PATCH ab/fsck-unexpected-type] t1450-fsck: exec-bit is not needed to make loose object writable

2 messages from 2022-01-13 to 2022-01-13. Participants: Johannes Sixt, Junio C Hamano.
Thread: https://gitlist.dev/t/57239

## Johannes Sixt, 2022-01-13 20:28

Subject: [PATCH ab/fsck-unexpected-type] t1450-fsck: exec-bit is not needed to make loose object writable
Message-ID: <529d99f3-13c8-ffc1-dd4c-3fc70330262a@kdbg.org>
URL: https://gitlist.dev/e/529d99f3-13c8-ffc1-dd4c-3fc70330262a%40kdbg.org

```
A test case wants to append stuff to a loose object file to ensure
that this kind of corruption is detected. To make a read-only loose
object file writable with chmod, it is not necessary to also make
it executable. Replace the bitmask 755 with the instruction +w to
request only the write bit and to also heed the umask. And get rid
of a POSIXPERM prerequisite, which is unnecessary for the test.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
---
 I happened to notice this by chance when I built on Windows today.

 t/t1450-fsck.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/t/t1450-fsck.sh b/t/t1450-fsck.sh
index 6337236fd8..de50c0ea01 100755
--- a/t/t1450-fsck.sh
+++ b/t/t1450-fsck.sh
@@ -94,13 +94,13 @@ test_expect_success 'object with hash and type mismatch' '
 	)
 '
 
-test_expect_success POSIXPERM 'zlib corrupt loose object output ' '
+test_expect_success 'zlib corrupt loose object output ' '
 	git init --bare corrupt-loose-output &&
 	(
 		cd corrupt-loose-output &&
 		oid=$(git hash-object -w --stdin --literally </dev/null) &&
 		oidf=objects/$(test_oid_to_path "$oid") &&
-		chmod 755 $oidf &&
+		chmod +w $oidf &&
 		echo extra garbage >>$oidf &&
 
 		cat >expect.error <<-EOF &&
-- 
2.34.1.141.g867d0e9267


```

## Junio C Hamano, 2022-01-13 23:04

Subject: Re: [PATCH ab/fsck-unexpected-type] t1450-fsck: exec-bit is not needed to make loose object writable
Message-ID: <xmqqpmovfd9h.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqqpmovfd9h.fsf%40gitster.g
In-Reply-To: <529d99f3-13c8-ffc1-dd4c-3fc70330262a@kdbg.org>

```
Johannes Sixt <j6t@kdbg.org> writes:

> A test case wants to append stuff to a loose object file to ensure
> that this kind of corruption is detected. To make a read-only loose
> object file writable with chmod, it is not necessary to also make
> it executable. Replace the bitmask 755 with the instruction +w to
> request only the write bit and to also heed the umask. And get rid
> of a POSIXPERM prerequisite, which is unnecessary for the test.
>
> Signed-off-by: Johannes Sixt <j6t@kdbg.org>
> ---
>  I happened to notice this by chance when I built on Windows today.

Thanks.  Looks quite sensible.

>
>  t/t1450-fsck.sh | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/t/t1450-fsck.sh b/t/t1450-fsck.sh
> index 6337236fd8..de50c0ea01 100755
> --- a/t/t1450-fsck.sh
> +++ b/t/t1450-fsck.sh
> @@ -94,13 +94,13 @@ test_expect_success 'object with hash and type mismatch' '
>  	)
>  '
>  
> -test_expect_success POSIXPERM 'zlib corrupt loose object output ' '
> +test_expect_success 'zlib corrupt loose object output ' '
>  	git init --bare corrupt-loose-output &&
>  	(
>  		cd corrupt-loose-output &&
>  		oid=$(git hash-object -w --stdin --literally </dev/null) &&
>  		oidf=objects/$(test_oid_to_path "$oid") &&
> -		chmod 755 $oidf &&
> +		chmod +w $oidf &&
>  		echo extra garbage >>$oidf &&
>  
>  		cat >expect.error <<-EOF &&

```
