Subject: Re: [bug-diffutils] bug#24227: new snapshot available: diffutils-3.4.8-c06c

From: Jim Meyering <[email-masked]>
Date: Sun, 14 Aug 2016 22:27:50 -0700

On Sun, Aug 14, 2016 at 10:21 PM, Jim Meyering <[email-masked]> wrote:
> On Sun, Aug 14, 2016 at 8:16 PM, Assaf Gordon <[email-masked]> wrote:
>> Hello,
>>
>>> On Aug 14, 2016, at 21:30, Jim Meyering <[email-masked]> wrote:
>>>
>>> http://meyering.net/diff/diffutils-3.4.8-c06c.tar.xz
>>
>> On AIX, SunOS 5.10, OpenBSD-5.8, the 'diff3' test fails, likely due to missing 'seq'.
>> Log attached (for one of them).
>>
>> Otherwise, no failures on:
>>   Mac OS X, 10.9.5, 10.10.4,
>>   Fedora 20 (ppc64), 21 (ppc64le)
>>   Fedora 24, 23, 22 (x86_64)
>>   Ubuntu 14.05, 15.04
>>   CentOS 7.0, 6.5
>>   Debian 8.1, 7.6
>>   FreeBSD 10.3, 9.3
>>   SUSE 42.1
>>   GNU Hurd 0.7
>>   OpenSolaris 5.11 (sparc, i86pc)
>>   Trisquel 7.0, 6.0.1
>
> Wow. Great. Thanks for such quick and thorough testing.
> missing seq is indeed the cause. It should be easy to work around the
> lack of seq: I'll simply include this replacement function from gzip's
> tests/zgrep-context:
>
> # A limited replacement for seq: handle 1 or 2 args; increment must be 1
> seq()
> {
>   case $# in
>     1) start=1  final=$1;;
>     2) start=$1 final=$2;;
>     *) echo you lose 1>&2; exit 1;;
>   esac
>   awk 'BEGIN{for(i='$start';i<='$final';i++) print i}' < /dev/null
> }

Here's the patch.
New snapshot in a moment.
From c61efccd23c827a03bdd1d41211c70479a632b86 Mon Sep 17 00:00:00 2001
From: Jim Meyering <[email-masked]>
Date: Sun, 14 Aug 2016 22:25:49 -0700
Subject: [PATCH] tests: diff3: work around missing seq on some systems

* tests/diff3 (seq): Provide a seq replacement function,
since at least AIX, SunOS 5.10, OpenBSD-5.8 lack it.
Reported by Assaf Gordon in https://bugs.gnu.org/24227#8
---
 tests/diff3 | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/tests/diff3 b/tests/diff3
index a40631b..b591751 100644
--- a/tests/diff3
+++ b/tests/diff3
@@ -3,6 +3,18 @@

 . "${srcdir=.}/init.sh"; path_prepend_ ../src

+# Some systems lack seq.
+# A limited replacement for seq: handle 1 or 2 args; increment must be 1
+seq()
+{
+  case $# in
+    1) start=1  final=$1;;
+    2) start=$1 final=$2;;
+    *) echo you lose 1>&2; exit 1;;
+  esac
+  awk 'BEGIN{for(i='$start';i<='$final';i++) print i}' < /dev/null
+}
+
 echo a > a || framework_failure_
 echo b > b || framework_failure_
 echo c > c || framework_failure_
-- 
2.8.0-rc2