On Sun, Aug 14, 2016 at 10:21 PM, Jim Meyering <j...@meyering.net> wrote: > On Sun, Aug 14, 2016 at 8:16 PM, Assaf Gordon <assafgor...@gmail.com> wrote: >> Hello, >> >>> On Aug 14, 2016, at 21:30, Jim Meyering <j...@meyering.net> 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 <meyer...@fb.com> 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