summaryrefslogtreecommitdiff
path: root/test/test_poll.rs
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_poll.rs')
-rw-r--r--test/test_poll.rs22
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));
+}