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

gnulib test failures on GNU/kFreeBSD 9.0


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. :)


Reply to: