projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
docbase: fix info filename; don't remove doc/updated-stamp
[gnulib.git]
/
tests
/
test-getlogin_r.c
diff --git
a/tests/test-getlogin_r.c
b/tests/test-getlogin_r.c
index
978efa4
..
ed103c9
100644
(file)
--- a/
tests/test-getlogin_r.c
+++ b/
tests/test-getlogin_r.c
@@
-1,5
+1,5
@@
/* Test of getting user name.
/* Test of getting user name.
- Copyright (C) 2010-201
1
Free Software Foundation, Inc.
+ Copyright (C) 2010-201
4
Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-40,8
+40,18
@@
main (void)
err = getlogin_r (buf, sizeof (buf));
if (err != 0)
{
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. */
/* getlogin_r() fails when stdin is not connected to a tty. */
- ASSERT (err == ENOTTY);
+ 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));
#endif
#if !defined __hpux /* On HP-UX 11.11 it fails anyway. */
ASSERT (! isatty (0));
#endif
@@
-78,7
+88,13
@@
main (void)
size_t i;
for (i = 0; i <= n; i++)
size_t i;
for (i = 0; i <= n; i++)
- ASSERT (getlogin_r (smallbuf, i) == ERANGE);
+ {
+ err = getlogin_r (smallbuf, i);
+ if (i == 0)
+ ASSERT (err == ERANGE || err == EINVAL);
+ else
+ ASSERT (err == ERANGE);
+ }
}
/* Test with a huge buffer. */
}
/* Test with a huge buffer. */