diff options
Diffstat (limited to 'test/test_poll.rs')
-rw-r--r-- | test/test_poll.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/test_poll.rs b/test/test_poll.rs new file mode 100644 index 00000000..54fd4029 --- /dev/null +++ b/test/test_poll.rs @@ -0,0 +1,22 @@ +use nix::poll::*; +use nix::unistd::{write, pipe}; + +#[test] +fn test_poll() { + let (r, w) = pipe().unwrap(); + let mut fds = [PollFd { + fd: r, + events: POLLIN, + revents: EventFlags::empty() + }]; + + let nfds = poll(&mut fds, 100).unwrap(); + assert_eq!(nfds, 0); + assert!(!fds[0].revents.contains(POLLIN)); + + write(w, b".").unwrap(); + + let nfds = poll(&mut fds, 100).unwrap(); + assert_eq!(nfds, 1); + assert!(fds[0].revents.contains(POLLIN)); +} |