summaryrefslogtreecommitdiff
path: root/test/test_poll.rs
blob: 6d30f265256212549e902dd29ce6db8879ff533b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use nix::poll::*;
use nix::unistd::{write, pipe};

#[test]
fn test_poll() {
    let (r, w) = pipe().unwrap();
    let mut fds = [PollFd::new(r, POLLIN)];

    let nfds = poll(&mut fds, 100).unwrap();
    assert_eq!(nfds, 0);
    assert!(!fds[0].revents().unwrap().contains(POLLIN));

    write(w, b".").unwrap();

    let nfds = poll(&mut fds, 100).unwrap();
    assert_eq!(nfds, 1);
    assert!(fds[0].revents().unwrap().contains(POLLIN));
}