gnulib test failures on GNU/kFreeBSD 9.0
(too old to reply)
Bruno Haible
2017-06-11 10:59:23 UTC

When running the gnulib testsuite on GNU/kFreeBSD 9.0 (installed
from debian-7.11.0-kfreebsd-amd64-netinst.iso), I get two test failures:

FAIL: test-getlogin

../../gltests/test-getlogin.c:60: assertion 'errno == ENOTTY || errno == EINVAL || errno == ENXIO' failed
FAIL test-getlogin (exit status: 134)

FAIL: test-getlogin_r

../../gltests/test-getlogin_r.c:95: assertion 'strcmp (pwd->pw_name, buf) == 0' failed
FAIL test-getlogin_r (exit status: 134)

The first one, at least, fails because the system call returns an empty buffer:
char *
getlogin (void)
if (__getlogin_cache == NULL)
if (INLINE_SYSCALL (getlogin, 2, __getlogin_cache_room, MAXLOGNAME) < 0)
return NULL;
/* The system call should return a NULL terminated name. */
if (__memchr (__getlogin_cache_room, '\0', MAXLOGNAME) == NULL)
abort ();
__getlogin_cache = __getlogin_cache_room; // <==== HERE __getlogin_cache_room is filled with NULs
return (__getlogin_cache[0] ? __getlogin_cache : NULL);

If you want to reproduce it, take this tarball:
and run "./configure CFLAGS=-ggdb; make; make check".

The good news is that these are the *only* test failures; more than 1000
other tests pass flawlessly. :)