[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#14493: MSYS line ending problem in t/cxx-demo.sh
From: |
Stefano Lattarini |
Subject: |
bug#14493: MSYS line ending problem in t/cxx-demo.sh |
Date: |
Wed, 29 May 2013 16:18:53 +0200 |
On 05/29/2013 03:39 PM, Peter Rosin wrote:
> On 2013-05-29 10:57, Stefano Lattarini wrote:
>> On 05/29/2013 01:43 AM, Peter Rosin wrote:
>>> Hi!
>>>
>>> I have this interesting log snippet from a failed run of t/cxx-demo.sh
>>> on the master branch (commit baf8a1c22acce0908):
>>>
>> And as you noted in your follow-up message, the problem is the same on
>> the micro branch (87e49f4f040c8ab))
>>
>>>
>>> + for p in play work
>>> + ./play
>>> + cat exp.play
>>> We are playing :-)
>>> Howdy, play!
>>> + cat got.play
>>> We are playing :-)
>>> Howdy, play!
>>> + diff exp.play got.play
>>> 1,2c1,2
>>> < We are playing :-)
>>> < Howdy, play!
>>> ---
>>>> We are playing :-)
>>>> Howdy, play!
>>> + am_exit_trap 1
>>> + exit_status=1
>>>
>>>
>>> This is on MSYS, and I strongly suspect a line ending discrepancy.
>>> The output from ./play is likely to have CRNL line endings, while
>>> exp.play is likely to have NL line endings. diff then barfs.
>>>
>> Any suggestion on how to easily fix this?
>>
>> If not, I have a utterly untested idea:
>>
>> - Add a new helper function to t/ax/am-test-lib.sh that tells whether
>> we are running on MinGW or no (you can steal existing code from the
>> 'require_tool()' function).
>>
>> - Use it in cxx-demo.sh to determine whether we are running under
>> MinGW.
>>
>> - If that's the case, use perl to normalize the line endings (turning
>> all CR-LF into simple LF).
>>
>> Is this doable?
>
> Yes, but why not always zap all CR characters? Shouldn't weaken the test
> by much...
>
> Something like the below change perhaps? (perl seemed a bit heavy)
>
> Cheers,
> Peter
>
>
> diff --git a/t/cxx-demo.sh b/t/cxx-demo.sh
> index f6d568d..27d18e1 100644
> --- a/t/cxx-demo.sh
> +++ b/t/cxx-demo.sh
> @@ -165,7 +165,7 @@ END
> Good morning, work.
> END
> for p in play work; do
> - ./$p > got.$p || { cat got.$p; exit 1; }
> + ./$p | tr -d '\015' > got.$p || { cat got.$p; exit 1; }
>
Yeah, let's got for this (with a comment like "zap carriage-return characters,
for MinGW/MSYS" ;-). No need to over-complicate stuff. If in a few days I'll
still be convinced that it's worth making this conditional to MinGW, I'll do
that myself.
> cat exp.$p
> cat got.$p
> diff exp.$p got.$p
>
>
Thanks,
Stefano