t_pr.c revision 1.4 1 1.4 martin /* $NetBSD: t_pr.c,v 1.4 2011/04/09 06:36:03 martin Exp $ */
2 1.1 pooka
3 1.1 pooka #include <sys/types.h>
4 1.1 pooka #include <sys/ioctl.h>
5 1.1 pooka #include <sys/tty.h>
6 1.1 pooka
7 1.1 pooka #include <atf-c.h>
8 1.1 pooka #include <fcntl.h>
9 1.1 pooka
10 1.1 pooka #include <rump/rump.h>
11 1.1 pooka #include <rump/rump_syscalls.h>
12 1.1 pooka
13 1.1 pooka ATF_TC(ptyioctl);
14 1.1 pooka ATF_TC_HEAD(ptyioctl, tc)
15 1.1 pooka {
16 1.1 pooka
17 1.1 pooka atf_tc_set_md_var(tc, "descr", "ioctl on pty");
18 1.1 pooka }
19 1.1 pooka
20 1.1 pooka ATF_TC_BODY(ptyioctl, tc)
21 1.1 pooka {
22 1.1 pooka struct termios tio;
23 1.1 pooka int fd;
24 1.1 pooka
25 1.1 pooka rump_init();
26 1.1 pooka fd = rump_sys_open("/dev/ptyp1", O_RDWR);
27 1.3 christos ATF_CHECK(fd != -1);
28 1.1 pooka
29 1.4 martin /*
30 1.4 martin * This used to die with null deref under ptcwakeup()
31 1.4 martin * atf_tc_expect_signal(-1, "PR kern/40688");
32 1.4 martin */
33 1.1 pooka rump_sys_ioctl(fd, TIOCGETA, &tio);
34 1.1 pooka }
35 1.1 pooka
36 1.1 pooka ATF_TP_ADD_TCS(tp)
37 1.1 pooka {
38 1.1 pooka
39 1.1 pooka ATF_TP_ADD_TC(tp, ptyioctl);
40 1.1 pooka
41 1.1 pooka return atf_no_error();
42 1.1 pooka }
43