Mercurial > hg > octave-kai > gnulib-hg
changeset 17157:bb02af8a620b
getlogin_r-tests: allow errno == ENXIO or ENOENT
* tests/test-getlogin.c (main): Skip tests if getlogin fails
with errno == ENXIO (No controlling tty).
* tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
with errno == ENOENT. This was reported to happen in various
situations on GNU/Linux.
author | Pádraig Brady <P@draigBrady.com> |
---|---|
date | Fri, 09 Nov 2012 11:55:25 +0000 |
parents | 75c813b2d840 |
children | b29b21191c61 |
files | ChangeLog tests/test-getlogin.c tests/test-getlogin_r.c |
diffstat | 3 files changed, 19 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2012-11-09 Pádraig Brady <P@draigBrady.com> + + getlogin-tests: allow errno == ENXIO + * tests/test-getlogin.c (main): Skip tests if getlogin fails + with errno == ENXIO (No controlling tty). + getlogin_r-tests: Likewise. Also allow errno == ENOENT + * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails + with errno == ENOENT. This was reported to happen in various + situations on GNU/Linux. + 2012-11-09 Paul Eggert <eggert@cs.ucla.edu> getlogin-tests: allow errno == ENOENT
--- a/tests/test-getlogin.c +++ b/tests/test-getlogin.c @@ -49,6 +49,7 @@ /* getlogin() fails when stdin is not connected to a tty. */ ASSERT (errno == ENOTTY || errno == EINVAL /* seen on Linux/SPARC */ + || errno == ENXIO ); #if !defined __hpux /* On HP-UX 11.11 it fails anyway. */ ASSERT (! isatty (0));
--- a/tests/test-getlogin_r.c +++ b/tests/test-getlogin_r.c @@ -40,9 +40,17 @@ err = getlogin_r (buf, sizeof (buf)); if (err != 0) { + if (errno == ENOENT) + { + /* This can happen on GNU/Linux. */ + fprintf (stderr, "Skipping test: no entry in utmp file.\n"); + return 77; + } + /* getlogin_r() fails when stdin is not connected to a tty. */ ASSERT (err == ENOTTY || errno == EINVAL /* seen on Linux/SPARC */ + || errno == ENXIO ); #if !defined __hpux /* On HP-UX 11.11 it fails anyway. */ ASSERT (! isatty (0));