Subject: Re: GIT+CYGWIN annoying test failure

From: SungHyun Nam <[email-masked]>
Date: Thu, 15 Feb 2007 09:55:55 +0900

Hello,

It seems the patch below work-around the problem.
I tested this patch several times after knowing the problem.

Thanks,
namsh

diff --git a/t/t1000-read-tree-m-3way.sh b/t/t1000-read-tree-m-3way.sh
index d0af8c3..422922e 100755
--- a/t/t1000-read-tree-m-3way.sh
+++ b/t/t1000-read-tree-m-3way.sh
@@ -130,6 +130,7 @@ _x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
 _x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"

 check_result () {
+    [ -r current ] && rm -f current
     git-ls-files --stage | sed -e 's/ '"$_x40"' / X /' >current &&
     diff -u expected current
 }

SungHyun Nam wrote:
> Hello,
> 
> Johannes Schindelin wrote:
>> On Wed, 24 Jan 2007, SungHyun Nam wrote:
>>
>>> First of all, this problem always existed to me. I was lazy to report. 
>>> Please check the failure logs and my GIT build script below. [...] the 
>>> first test failed at 't1000-read-tree-m-3way.sh' always. And in this 
>>> case, 2nd test always succeeded.
>>>
>>> * FAIL 57: 5 - must match in !O && A && B && A==B case.
>>>         rm -f .git/index LL &&
>>>              cp .orig-A/LL LL &&
>>>              git-update-index --add LL &&
>>>              echo extra >>LL &&
>>>              git-read-tree -m 3fe085e0589de4327971d50e416fc292dd00fbfe
>>> 997bbc4a0a51e0574168a4f637739380edebe4d7
>>> 76d47d681d7f1d4fa975334a9a0ba8a6eeea2226 &&
>>>              check_result
>> It is not directly apparent what is causing this error. Could you please 
>> change your script to use "-i -v" on the tests? I.e. instead of:
>> 	
>>> 	    if ! make test
>> this:
>>
>> 	    if ! (cd t; GIT_TEST_OPTS="-i -v" make)
>>
>> It should give us a better idea what happened, since we also see the 
>> error messages of the git commands.
>>
>> If it is still not apparent what went wrong, there is unfortunately no way 
>> around doing that particular test case manually, as to find out what went 
>> wrong. Since you seem to be the only one who can reproduce this bug, it 
>> boils down to you having to do the leg work.
> 
> I'm not sure I can believe my system, Windows or CYGWIN.
> It seems GIT has no problem.
> 
> Thanks,
> 
> 2007-01-25
> =========================================================================
> * expecting success: rm -fr [NDMALTS][NDMALTSF] Z &&
>      rm .git/index &&
>      git-read-tree 997bbc4a0a51e0574168a4f637739380edebe4d7 &&
>      git-checkout-index -f -u -a &&
>      git-read-tree -m 3fe085e0589de4327971d50e416fc292dd00fbfe
> 997bbc4a0a51e0574168a4f637739380edebe4d7
> 76d47d681d7f1d4fa975334a9a0ba8a6eeea2226 &&
>      check_result
> t1000-read-tree-m-3way.sh: line 133: current: Permission denied
> * FAIL 46: 3-way merge with git-read-tree -m, match H
>         rm -fr [NDMALTS][NDMALTSF] Z &&
>              rm .git/index &&
>              git-read-tree 997bbc4a0a51e0574168a4f637739380edebe4d7 &&
>              git-checkout-index -f -u -a &&
>              git-read-tree -m 3fe085e0589de4327971d50e416fc292dd00fbfe
> 997bbc4a0a51e0574168a4f637739380edebe4d7
> 76d47d681d7f1d4fa975334a9a0ba8a6eeea2226 &&
>              check_result
> make: *** [t1000-read-tree-m-3way.sh] Error 1
> 
> 
> 2007-01-29
> =========================================================================
> * expecting success: rm -f .git/index LL &&
>      cp .orig-A/LL LL &&
>      git-update-index --add LL &&
>      echo extra >>LL &&
>      git-read-tree -m 3fe085e0589de4327971d50e416fc292dd00fbfe
> 997bbc4a0a51e0574168a4f637739380edebe4d7
> 76d47d681d7f1d4fa975334a9a0ba8a6eeea2226 &&
>      check_result
> t1000-read-tree-m-3way.sh: line 133: current: Permission denied
> * FAIL 57: 5 - must match in !O && A && B && A==B case.
>         rm -f .git/index LL &&
>              cp .orig-A/LL LL &&
>              git-update-index --add LL &&
>              echo extra >>LL &&
>              git-read-tree -m 3fe085e0589de4327971d50e416fc292dd00fbfe
> 997bbc4a0a51e0574168a4f637739380edebe4d7
> 76d47d681d7f1d4fa975334a9a0ba8a6eeea2226 &&
>              check_result
> make: *** [t1000-read-tree-m-3way.sh] Error 1