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