Discussion:
gnulib test failures on GNU/kFreeBSD 9.0
Add Reply
Bruno Haible
2017-06-11 10:59:23 UTC
Reply
Permalink
Raw Message
Hi,

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:
https://haible.de/bruno/gnu/testdir-getlogin.tar.gz
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. :)

Bruno

Loading...