On 2014-10-02 14.39, Thomas Braun wrote:
> Hi,
>
> I've enabled EXPENSIVE and ran the git test suite under msysgit/git-win-sdk
> with
> git version 2.1.0.9753.g360f311.dirty.
>
> Now I have some failing tests in t0027-autocrlf.sh in the MINGW only section
> which puzzle me.
>
> The offending test sets are
>
> diff --git a/t/t0027-auto-crlf.sh b/t/t0027-auto-crlf.sh
> index 72dd3e8..90c4cd1 100755
> --- a/t/t0027-auto-crlf.sh
> +++ b/t/t0027-auto-crlf.sh
> @@ -245,18 +245,18 @@ if test_have_prereq MINGW
> then
> check_files_in_ws "" false "" LF CRLF CRLF_mix_LF LF_mix_CR
> CRLF_nul
> check_files_in_ws "" true "" CRLF CRLF CRLF_mix_LF LF_mix_CR
> CRLF_nul
> -check_files_in_ws "" false "auto" LF CRLF CRLF_mix_LF LF_mix_CR
> CRLF_nul
> +# check_files_in_ws "" false "auto" LF CRLF CRLF_mix_LF
> LF_mix_CR CRLF_nul # first broken
> check_files_in_ws "" true "auto" CRLF CRLF CRLF LF_mix_CR
> CRLF_nul
> -check_files_in_ws "" false "text" LF CRLF CRLF_mix_LF LF_mix_CR
> CRLF_nul
> +# check_files_in_ws "" false "text" LF CRLF CRLF_mix_LF
> LF_mix_CR CRLF_nul # broken
> check_files_in_ws "" true "text" CRLF CRLF CRLF
> CRLF_mix_CR CRLF_nul
> check_files_in_ws "" false "-text" LF CRLF CRLF_mix_LF LF_mix_CR
> CRLF_nul
> check_files_in_ws "" true "-text" LF CRLF CRLF_mix_LF LF_mix_CR
> CRLF_nul
>
> check_files_in_ws native false "" LF CRLF CRLF_mix_LF LF_mix_CR
> CRLF_nul
> check_files_in_ws native true "" CRLF CRLF CRLF_mix_LF LF_mix_CR
> CRLF_nul
> -check_files_in_ws native false "auto" LF CRLF CRLF_mix_LF LF_mix_CR
> CRLF_nul
> +# check_files_in_ws native false "auto" LF CRLF CRLF_mix_LF
> LF_mix_CR CRLF_nul # broken
> check_files_in_ws native true "auto" CRLF CRLF CRLF LF_mix_CR
> CRLF_nul
> -check_files_in_ws native false "text" LF CRLF CRLF_mix_LF LF_mix_CR
> CRLF_nul
> +# check_files_in_ws native false "text" LF CRLF CRLF_mix_LF
> LF_mix_CR CRLF_nul # broken
> check_files_in_ws native true "text" CRLF CRLF CRLF
> CRLF_mix_CR CRLF_nul
> check_files_in_ws native false "-text" LF CRLF CRLF_mix_LF LF_mix_CR
> CRLF_nul
> check_files_in_ws native true "-text" LF CRLF CRLF_mix_LF LF_mix_CR
> CRLF_nul
>
> I tried with NATIVE_CRLF = YesPlease but 117 failed too.
>
> First question, under what MINGW system do these tests pass?
> Second question any hints how to tackle this?
>
> The first failing test is
> not ok 117 - checkout core.eol= core.autocrlf=false gitattributes=auto file=LF
> #
> # compare_ws_file eol__crlf_false_attr_auto_ LF
> crlf_false_attr__LF.txt
> #
>
>
> where I have in the trash directory
>
> $ diff -Nur *expect* *actual*
> --- LF.expect 2014-10-02 12:15:17 +0000
> +++ eol__crlf_false_attr_auto_.actual.crlf_false_attr__LF.txt 2014-10-02
> 12:15
First things first:
We have a file with LF in the repo, and check it out.
Read it like this:
"eol__crlf_false_attr_auto_.actual"
^ *.txt auto in .gitconfig
^
core.autocrlf is false
^
core.eol is unset
The file is expected to have LF in the working tree, but has CRLF
> :17 +0000
> @@ -1,3 +1,3 @@
> -0000000 l i n e 1 \n l i n e 2 \n l i n e
> -0000020 3
> -0000021
> +0000000 l i n e 1 \r \n l i n e 2 \r \n l i
> +0000020 n e 3
> +0000023
>
> Reading convert.h tells me that for undefined NATIVE_CRLF the native EOL is
> LF.
> Which looks like the test is correct.
>
> Thomas
>
Which version of t0027 do you have:
The latest version in git.git is this one,
and "should pass" (but I may have missed something)
commit f6975a6b119128de1c5a89e6cd64f75ed1de2177
Author: Torsten Bögershausen <[email protected]>
Date: Sat Aug 16 22:16:58 2014 +0200
t0027: Tests for core.eol=native, eol=lf, eol=crlf
Add test cases for core.eol "native" and "" (unset).
(MINGW uses CRLF, all other systems LF as native line endings)
Add test cases for the attributes "eol=lf" and "eol=crlf"
Other minor changes:
- Use the more portable 'tr' instead of 'od -c' to convert '\n' into 'Q'
and '\0' into 'N'
- Style fixes for shell functions according to the coding guide lines
- Replace "txtbin" with "attr"
Signed-off-by: Torsten Bögershausen <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html