[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

gnulib test failures on GNU/kFreeBSD 9.0



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


Reply to: