diff mbox

[4/5] test-suite: Add -b option to ignore CR at eol on MinGW

Message ID 519BC87D.5080002@ramsay1.demon.co.uk (mailing list archive)
State Rejected, archived
Headers show

Commit Message

Ramsay Jones May 21, 2013, 7:18 p.m. UTC
Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
---
 validation/test-suite | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Josh Triplett May 21, 2013, 9:16 p.m. UTC | #1
On Tue, May 21, 2013 at 08:18:21PM +0100, Ramsay Jones wrote:
> Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>

-b doesn't just ignore CR at end of line; it would also ignore changes
in the amount of whitespace elsewhere on the line.  You might consider
piping the input that has CRs through sed before storing it, to delete
the CR at end of line before comparing, instead.

> ---
>  validation/test-suite | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/validation/test-suite b/validation/test-suite
> index 3c011c6..ded93fc 100755
> --- a/validation/test-suite
> +++ b/validation/test-suite
> @@ -126,7 +126,7 @@ do_test()
>  	actual_exit_value=$?
>  
>  	for stream in output error; do
> -		diff -u "$file".$stream.expected "$file".$stream.got > "$file".$stream.diff
> +		diff -ub "$file".$stream.expected "$file".$stream.got > "$file".$stream.diff
>  		if [ "$?" -ne "0" ]; then
>  			error "actual $stream text does not match expected $stream text."
>  			error  "see $file.$stream.* for further investigation."
> -- 
> 1.8.2
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Johannes Berg May 21, 2013, 9:27 p.m. UTC | #2
On Tue, 2013-05-21 at 14:16 -0700, Josh Triplett wrote:
> On Tue, May 21, 2013 at 08:18:21PM +0100, Ramsay Jones wrote:
> > Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
> 
> -b doesn't just ignore CR at end of line; it would also ignore changes
> in the amount of whitespace elsewhere on the line.  You might consider
> piping the input that has CRs through sed before storing it, to delete
> the CR at end of line before comparing, instead.

Or just use --strip-trailing-cr, no? Or maybe that's not available?

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Josh Triplett May 21, 2013, 9:46 p.m. UTC | #3
On Tue, May 21, 2013 at 11:27:00PM +0200, Johannes Berg wrote:
> On Tue, 2013-05-21 at 14:16 -0700, Josh Triplett wrote:
> > On Tue, May 21, 2013 at 08:18:21PM +0100, Ramsay Jones wrote:
> > > Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
> > 
> > -b doesn't just ignore CR at end of line; it would also ignore changes
> > in the amount of whitespace elsewhere on the line.  You might consider
> > piping the input that has CRs through sed before storing it, to delete
> > the CR at end of line before comparing, instead.
> 
> Or just use --strip-trailing-cr, no? Or maybe that's not available?

Nice, I didn't know about that one.  Yes, if MinGW's diff has that, by
all means use it.

- Josh Triplett
--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ramsay Jones May 22, 2013, 9:19 p.m. UTC | #4
Josh Triplett wrote:
> On Tue, May 21, 2013 at 11:27:00PM +0200, Johannes Berg wrote:
>> On Tue, 2013-05-21 at 14:16 -0700, Josh Triplett wrote:
>>> On Tue, May 21, 2013 at 08:18:21PM +0100, Ramsay Jones wrote:
>>>> Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
>>>
>>> -b doesn't just ignore CR at end of line; it would also ignore changes
>>> in the amount of whitespace elsewhere on the line.  You might consider
>>> piping the input that has CRs through sed before storing it, to delete
>>> the CR at end of line before comparing, instead.
>>
>> Or just use --strip-trailing-cr, no? Or maybe that's not available?
> 
> Nice, I didn't know about that one.  Yes, if MinGW's diff has that, by
> all means use it.

Heh, that was the first thing I tried, but it doesn't work:

  $ diff --strip-trailing-cr sparse.c{~,}
  diff: unrecognized option `--strip-trailing-cr'
  diff: Try `diff --help' for more information.
  $ diff --version
  diff - GNU diffutils version 2.7
  $

It works just fine on cygwin and Linux, but the diff versions are
newer there, for example on cygwin:

  $ diff --version
  diff (GNU diffutils) 2.8.7
  Written by Paul Eggert, Mike Haertel, David Hayes,
  Richard Stallman, and Len Tower.

  Copyright (C) 2004 Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  $

Hmm, does it really matter that it would miss whitespace changes
elsewhere in the line? (Ah, maybe some of the preprocessor tests?)

I think I would prefer to go back to the original _setmode() patch
than to mess with sed. ;-)

[Also, this MinGW is the one that came from the msysgit installer from
a couple of years ago. Maybe it has been updated. uname shows that the
MinGW I'm using was dated Feb 2010. dunno.]

ATB,
Ramsay Jones


--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/validation/test-suite b/validation/test-suite
index 3c011c6..ded93fc 100755
--- a/validation/test-suite
+++ b/validation/test-suite
@@ -126,7 +126,7 @@  do_test()
 	actual_exit_value=$?
 
 	for stream in output error; do
-		diff -u "$file".$stream.expected "$file".$stream.got > "$file".$stream.diff
+		diff -ub "$file".$stream.expected "$file".$stream.got > "$file".$stream.diff
 		if [ "$?" -ne "0" ]; then
 			error "actual $stream text does not match expected $stream text."
 			error  "see $file.$stream.* for further investigation."