Re: t6023 broken under Mac OS
- From
Ramsay Jones <ramsay@ramsayjones.plus.com>
- Date
- Jan 1, 2016, 17:14 UTC
- Message-ID
- <5686B400.7000800@ramsayjones.plus.com>
- In-Reply-To
- <56869D10.9090105@web.de>
Hi Torsten,
On 01/01/16 15:36, Torsten Bögershausen wrote:
Show 6 quoted lines
> The (last) test case > 'conflict markers contain CRLF when core.eol=crlf' > > does not work as expected under Mac OS: "wc -l" is not portable and the line > test $(sed -n "/\.txt\r$/p" output.txt | wc -l) = 3 > fails.
Hmm, I have never used a Mac, so I'm just guessing here, but you could try something like (obviously untested!):
diff --git a/t/t6023-merge-file.sh b/t/t6023-merge-file.sh index 245359a..68b306f 100755 --- a/t/t6023-merge-file.sh +++ b/t/t6023-merge-file.sh @@ -350,7 +350,7 @@ test_expect_success 'conflict at EOF without LF resolved by --union' \ test_expect_success 'conflict markers contain CRLF when core.eol=crlf' ' test_must_fail git -c core.eol=crlf merge-file -p \ nolf-diff1.txt nolf-orig.txt nolf-diff2.txt >output.txt && - test $(sed -n "/\.txt\r$/p" output.txt | wc -l) = 3 + test $(tr "\015" Q <output.txt | sed -n "/\.txtQ$/p" | wc -l) -eq 3 ' test_done [The 'wc -l' portability should only be a problem if you rely on the exact textual form of the output, rather than the integer count. 'wc -l' is used in many many tests ...] Note that this test is not checking all conflict markers (the ======= marker does not have a filename appended). Should that be fixed also? ATB, Ramsay Jones