# HG changeset patch # User Bruno Haible # Date 1263286284 -3600 # Node ID 62f595fee4e124962be477219d23fd01d04e1a95 # Parent 8387bca9d2566e806809d1845f951d3734af2540 getlogin, getlogin_r: Avoid test failure. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2010-01-12 Simon Josefsson + Bruno Haible + + getlogin, getlogin_r: Avoid test failure. + * tests/test-getlogin.c: Include . + (main): Skip the test when the function fails because stdin is not a + tty. + * tests/test-getlogin_r.c: Include . + (main): Skip the test when the function fails because stdin is not a + tty. + 2010-01-11 Eric Blake tests: avoid more large file warnings diff --git a/tests/test-getlogin.c b/tests/test-getlogin.c --- a/tests/test-getlogin.c +++ b/tests/test-getlogin.c @@ -23,6 +23,7 @@ #include "signature.h" SIGNATURE_CHECK (getlogin, char *, (void)); +#include #include #include @@ -35,7 +36,13 @@ /* Test value. */ buf = getlogin (); - ASSERT (buf != NULL); + if (buf == NULL) + { + /* getlogin() fails when stdin is not connected to a tty. */ + ASSERT (! isatty (0)); + fprintf (stderr, "Skipping test: stdin is not a tty.\n"); + return 77; + } /* Compare against the value from the environment. */ #if !((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) diff --git a/tests/test-getlogin_r.c b/tests/test-getlogin_r.c --- a/tests/test-getlogin_r.c +++ b/tests/test-getlogin_r.c @@ -24,6 +24,7 @@ SIGNATURE_CHECK (getlogin_r, int, (char *, size_t)); #include +#include #include #include @@ -35,7 +36,13 @@ /* Test with a large enough buffer. */ char buf[1024]; - ASSERT (getlogin_r (buf, sizeof (buf)) == 0); + if (getlogin_r (buf, sizeof (buf)) != 0) + { + /* getlogin_r() fails when stdin is not connected to a tty. */ + ASSERT (! isatty (0)); + fprintf (stderr, "Skipping test: stdin is not a tty.\n"); + return 77; + } /* Compare against the value from the environment. */ #if !((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__)