git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Failing tests in t0027-autocrlf.sh under msysgit/git-win-sdk

From
Torsten Bögershausen <tboegi@web.de>
Date
Oct 2, 2014, 13:42 UTC
Message-ID
<542D563A.8070306@web.de>
In-Reply-To
<542D4769.60503@virtuell-zuhause.de>
On 2014-10-02 14.39, Thomas Braun wrote:
Show 19 quoted lines
> 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
Show 22 quoted lines
>  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?
Show 13 quoted lines
> 
> 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
Show 14 quoted lines
> :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 <tboegi@web.de>
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 <tboegi@web.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Previous: Thomas BraunNext: Thomas Braun
Message 2 of 3 in “Failing tests in t0027-autocrlf.sh under msysgit/git-win-sdk”
  1. Thomas BraunOct 2, 2014
  2. Torsten BögershausenOct 2, 2014
  3. Thomas BraunOct 2, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.