Subject: bug#10433: coreutils-8.14.116-1e18d: one gnulib-tests failure on Solaris 10 (with gcc)

From: Jim Meyering <[email-masked]>
Date: Wed, 04 Jan 2012 20:20:39 +0100

Stefano Lattarini wrote:
> On 01/03/2012 06:10 PM, Jim Meyering wrote:
>> > FYI, here's a snapshot of what will soon be coreutils-8.15,
>> > expected on Thursday or Friday.
>> >
>> > coreutils snapshot:
>> >   http://meyering.net/cu/coreutils-ss.tar.xz      5.2 MB
>> >   http://meyering.net/cu/coreutils-ss.tar.xz.sig
>> >   http://meyering.net/cu/coreutils-8.14.116-1e18d.tar.xz
>> >
> Minimal system info:
>
>   $  uname -s -r -v
>   SunOS 5.10 Generic_144489-06
>   $ /usr/local/bin/gcc --version | head -1
>   gcc (GCC) 4.6.2
>
> Commands used to test the snapshot package:
>
...
>   + cat diff.out
>   --- exp       Wed Jan  4 11:35:24 2012
>   +++ out       Wed Jan  4 11:35:24 2012
>   @@ -1,4 +1,4 @@
>    --- empty
>    +++ in
>   -@@ -0,0 +1 @@
>   +@@ -1,0 +1,1 @@

Thank you for the report!
Here's a gnulib patch that should avoid that failure:

>From 77a1dda86f92f8e54da4e6344911a561ccfaba08 Mon Sep 17 00:00:00 2001
From: Jim Meyering <[email-masked]>
Date: Wed, 4 Jan 2012 20:19:37 +0100
Subject: [PATCH] test-init.sh: accommodate Solaris 5.10's different diff -u
 output

* tests/test-init.sh: Also exempt @@ lines from the comparison
of diff output, since Solaris 5.10 and GNU diff formats differ.
Reported by Stefano Lattarini.
---
 ChangeLog          |    5 +++++
 tests/test-init.sh |    6 ++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index e101d12..9550bc2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2012-01-04  Jim Meyering  <[email-masked]>

+	test-init.sh: accommodate Solaris 5.10's different diff -u output
+	* tests/test-init.sh: Also exempt @@ lines from the comparison
+	of diff output, since Solaris 5.10 and GNU diff formats differ.
+	Reported by Stefano Lattarini.
+
 	test-vc-list-files-cvs.sh: remove obsolete comment
 	* tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
 	double exit.  Now that's all encapsulated via skip_ and Exit.
diff --git a/tests/test-init.sh b/tests/test-init.sh
index 123da8e..ee1c798 100755
--- a/tests/test-init.sh
+++ b/tests/test-init.sh
@@ -52,13 +52,15 @@ EOF
   compare empty in >out 2>err && fail=1
   # Remove the TAB-date suffix on each --- and +++ line,
   # for both the expected and the actual output files.
+  # Also remove the @@ line, since Solaris 5.10 and GNU diff formats differ:
+  # -@@ -0,0 +1 @@
+  # +@@ -1,0 +1,1 @@
   cat <<\EOF > exp
 --- empty
 +++ in
-@@ -0,0 +1 @@
 +xyz
 EOF
-  sed 's/	.*//' out > k && mv k out
+  sed 's/	.*//;/^@@/d' out > k && mv k out
   compare exp out || fail=1
   case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac
 }
--
1.7.8.2.329.g04d73