+ 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));
+#endif
+ fprintf (stderr, "Skipping test: stdin is not a tty.\n");
+ return 77;
+ }