From: Bruno Haible Date: Wed, 30 Dec 2020 13:58:41 +0000 (+0100) Subject: getlogin tests, getlogin_r tests: Avoid failure on Solaris OpenIndiana. X-Git-Tag: v1.0~3268 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=f029c442f557902ccdacd3cca870a55761f2c2a3;p=gnulib.git getlogin tests, getlogin_r tests: Avoid failure on Solaris OpenIndiana. * tests/test-getlogin.c (main): Don't fail if getlogin() returns NULL with no errno. * tests/test-getlogin_r.c (main): Don't fail if getlogin_r() returns EINVAL. --- diff --git a/ChangeLog b/ChangeLog index c2cd649695..1ed194e582 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2020-12-30 Bruno Haible + + getlogin tests, getlogin_r tests: Avoid failure on Solaris OpenIndiana. + * tests/test-getlogin.c (main): Don't fail if getlogin() returns NULL + with no errno. + * tests/test-getlogin_r.c (main): Don't fail if getlogin_r() returns + EINVAL. + 2020-12-29 Jim Meyering regex-tests: tweak to avoid a clang-10 warning diff --git a/tests/test-getlogin.c b/tests/test-getlogin.c index a3048f2ab2..f0d168b63c 100644 --- a/tests/test-getlogin.c +++ b/tests/test-getlogin.c @@ -31,7 +31,14 @@ main (void) /* Test value. */ char *buf = getlogin (); int err = buf ? 0 : errno; - ASSERT (buf || err); +#if defined __sun + if (buf == NULL && err == 0) + { + /* This can happen on Solaris 11 OpenIndiana in the MATE desktop. */ + fprintf (stderr, "Skipping test: no entry in /var/adm/utmpx.\n"); + exit (77); + } +#endif test_getlogin_result (buf, err); return 0; diff --git a/tests/test-getlogin_r.c b/tests/test-getlogin_r.c index 69d0bae120..88c41fe2a9 100644 --- a/tests/test-getlogin_r.c +++ b/tests/test-getlogin_r.c @@ -32,6 +32,14 @@ main (void) /* Test with a large enough buffer. */ char buf[1024]; int err = getlogin_r (buf, sizeof buf); +#if defined __sun + if (err == EINVAL) + { + /* This can happen on Solaris 11 OpenIndiana in the MATE desktop. */ + fprintf (stderr, "Skipping test: no entry in /var/adm/utmpx.\n"); + exit (77); + } +#endif test_getlogin_result (buf, err); /* Test with a small buffer. */