Thread (10 messages) flat view 10 messages, 3 authors, 2016-06-15

Re: t3032 incompatible with Cygwin/Windows

From: Ramsay Jones <hidden>
Date: 2016-06-15 22:58:12

Mark Levedahl wrote:
Subtests 6,7, and 9 of t3032 fail on Cygwin, and I presume will fail on 
msysgit for similar reasons. Looking at test 6, the expected result is a 
line ending with \r\n in text.txt. This line is extracted with grep 
(grep 'justice and holiness' text.txt > actual), with unavoidable result 
that on Cygwin the line ending is \n. This happens because on Cygwin, 
the text utils are compiled to open files in text mode meaning than \n 
and \r\n are both recognized as EOL markers. Thus, even though text.txt 
is an exact match for what is created on Linux, the test fails because 
\r\n cannot be distinguished by the available tools.

I'm not sure the right way forward. I did confirm that by substituting 
"q_to_tab" for "q_to_cr" in t3032, the test pass on Cygwin and on Linux. 
Perhaps t3032 should be so amended to avoid use of a non-portable line 
ending construct?
This passes for me, on both cygwin and MinGW.

After adding a test_pause to test #6:

$ ./t3032-merge-recursive-options.sh -v

...

expecting success:
        q_to_cr <<-\EOF >expected &&
            justice and holiness and is the nurse of his age and theQ
        EOF

        git read-tree --reset -u HEAD &&
        git merge-recursive --ignore-space-change HEAD^ -- HEAD remote &&
        grep "justice and holiness" text.txt >actual &&
        test_cmp expected actual &&
        test_pause

Merging HEAD with remote
Merging:
0ab7224 Clarify
be82dcf Remove cruft
found 1 common ancestor:
c1e95d9 Initial revision
Auto-merging text.txt
$ xxd expected
0000000: 2020 2020 6a75 7374 6963 6520 616e 6420      justice and
0000010: 686f 6c69 6e65 7373 2061 6e64 2069 7320  holiness and is
0000020: 7468 6520 6e75 7273 6520 6f66 2068 6973  the nurse of his
0000030: 2061 6765 2061 6e64 2074 6865 0d0a        age and the..
$ xxd actual
0000000: 2020 2020 6a75 7374 6963 6520 616e 6420      justice and
0000010: 686f 6c69 6e65 7373 2061 6e64 2069 7320  holiness and is
0000020: 7468 6520 6e75 7273 6520 6f66 2068 6973  the nurse of his
0000030: 2061 6765 2061 6e64 2074 6865 0d0a        age and the..
$ grep "justice and holiness" text.txt | xxd
0000000: 2020 2020 6a75 7374 6963 6520 616e 6420      justice and
0000010: 686f 6c69 6e65 7373 2061 6e64 2069 7320  holiness and is
0000020: 7468 6520 6e75 7273 6520 6f66 2068 6973  the nurse of his
0000030: 2061 6765 2061 6e64 2074 6865 0d0a        age and the..
$ exit

...

# passed all 11 test(s)
1..11
$ 

ATB,
Ramsay Jones
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help