On Fri, Jul 18, 2014 at 5:03 PM, Assaf Gordon <[email protected]> wrote: > Hello, > > Few tests fail of version 8.22.157-1b243 (and I assume 8.23 now) fail on > DilOS version 1.3.5.16 . > (DilOS is Illumos kernel (formally OpenSolaris) with Debian-like packaging > system: http://www.dilos.org/about-dilos ). > > The failure is obscure enough so it's probably not worth fixing, just > documenting. > > On this system, > When building with GNU make (/usr/gnu/bin/make), make will use GNU Bash > (/usr/gnu/bin/sh) - and all goes well. > > When building with native make (/usr/bin/make), it will use /bin/sh, which > seems a form of old AT&T sh: > $ /bin/sh --version > version sh (AT&T Research) 93t+ 2010-03-05 > > This shell does not support the "local" keyword for variables, and so few > tests which have shell functions with the "local" keyword fail. > > Example (on said system): > $ /usr/gnu/bin/sh -c 'test() { local i=1 ; echo $i ; } ; test' > 1 > > $ /bin/sh -c 'test() { local i=1 ; echo $i ; } ; test' > /bin/sh[1]: local: not found [No such file or directory] > > ====== > > The following tests fail: > tests/tail-2/inotify-hash-abuse > tests/tail-2/F-vs-missing ...
Thank you for the report. gnulib's tests/init.sh already expends some effort to find a sensible shell with which to run all of coreutils' tests. I think the solution is to augment the tests in init.sh to require support for the "local" keyword as well as the other non-POSIX features it already tests for.
