Commit b7c95ee2 authored by Bruno Haible's avatar Bruno Haible

login_tty: Stricter unit test.

* modules/login_tty-tests (Depends-on): Add tcgetsid.
* tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
and tcgetsid() after login_tty.
Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
parent 12e33440
2010-09-16 Bruno Haible <bruno@clisp.org>
login_tty: Stricter unit test.
* modules/login_tty-tests (Depends-on): Add tcgetsid.
* tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
and tcgetsid() after login_tty.
Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
2010-09-16 Bruno Haible <bruno@clisp.org>
New module 'tcgetsid'.
......@@ -3,6 +3,7 @@ tests/test-login_tty.c
Depends-on:
openpty
tcgetsid
configure.ac:
......
......@@ -19,8 +19,12 @@
/* Specification. */
extern int login_tty (int);
#include <errno.h>
#include <pty.h>
#include <stdio.h>
#include <stdlib.h>
#include <termios.h>
#include <unistd.h>
int
main ()
......@@ -48,5 +52,23 @@ main ()
}
}
/* From here on, we cannot use stderr for error messages any more.
If a test fails, just abort. */
/* Check that fd = 0, 1, 2 are now open to the controlling terminal for the
current process and that it is a session of its own. */
{
int fd;
for (fd = 0; fd < 3; fd++)
if (!(tcgetpgrp (fd) == getpid ()))
abort ();
for (fd = 0; fd < 3; fd++)
{
int sid = tcgetsid (fd);
if (!(sid == -1 ? errno == ENOSYS : sid == getpid ()))
abort ();
}
}
return 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment