summaryrefslogtreecommitdiff
path: root/test/sys/test_select.rs
diff options
context:
space:
mode:
Diffstat (limited to 'test/sys/test_select.rs')
-rw-r--r--test/sys/test_select.rs31
1 files changed, 16 insertions, 15 deletions
diff --git a/test/sys/test_select.rs b/test/sys/test_select.rs
index 40bda4d9..79f75de3 100644
--- a/test/sys/test_select.rs
+++ b/test/sys/test_select.rs
@@ -2,6 +2,7 @@ use nix::sys::select::*;
use nix::sys::signal::SigSet;
use nix::sys::time::{TimeSpec, TimeValLike};
use nix::unistd::{pipe, write};
+use std::os::unix::io::{AsRawFd, BorrowedFd, FromRawFd, OwnedFd};
#[test]
pub fn test_pselect() {
@@ -9,11 +10,13 @@ pub fn test_pselect() {
let (r1, w1) = pipe().unwrap();
write(w1, b"hi!").unwrap();
+ let r1 = unsafe { OwnedFd::from_raw_fd(r1) };
let (r2, _w2) = pipe().unwrap();
+ let r2 = unsafe { OwnedFd::from_raw_fd(r2) };
let mut fd_set = FdSet::new();
- fd_set.insert(r1);
- fd_set.insert(r2);
+ fd_set.insert(&r1);
+ fd_set.insert(&r2);
let timeout = TimeSpec::seconds(10);
let sigmask = SigSet::empty();
@@ -21,25 +24,27 @@ pub fn test_pselect() {
1,
pselect(None, &mut fd_set, None, None, &timeout, &sigmask).unwrap()
);
- assert!(fd_set.contains(r1));
- assert!(!fd_set.contains(r2));
+ assert!(fd_set.contains(&r1));
+ assert!(!fd_set.contains(&r2));
}
#[test]
pub fn test_pselect_nfds2() {
let (r1, w1) = pipe().unwrap();
write(w1, b"hi!").unwrap();
+ let r1 = unsafe { OwnedFd::from_raw_fd(r1) };
let (r2, _w2) = pipe().unwrap();
+ let r2 = unsafe { OwnedFd::from_raw_fd(r2) };
let mut fd_set = FdSet::new();
- fd_set.insert(r1);
- fd_set.insert(r2);
+ fd_set.insert(&r1);
+ fd_set.insert(&r2);
let timeout = TimeSpec::seconds(10);
assert_eq!(
1,
pselect(
- ::std::cmp::max(r1, r2) + 1,
+ std::cmp::max(r1.as_raw_fd(), r2.as_raw_fd()) + 1,
&mut fd_set,
None,
None,
@@ -48,8 +53,8 @@ pub fn test_pselect_nfds2() {
)
.unwrap()
);
- assert!(fd_set.contains(r1));
- assert!(!fd_set.contains(r2));
+ assert!(fd_set.contains(&r1));
+ assert!(!fd_set.contains(&r2));
}
macro_rules! generate_fdset_bad_fd_tests {
@@ -58,17 +63,13 @@ macro_rules! generate_fdset_bad_fd_tests {
#[test]
#[should_panic]
fn $method() {
- FdSet::new().$method($fd);
+ let bad_fd = unsafe{BorrowedFd::borrow_raw($fd)};
+ FdSet::new().$method(&bad_fd);
}
)*
}
}
-mod test_fdset_negative_fd {
- use super::*;
- generate_fdset_bad_fd_tests!(-1, insert, remove, contains);
-}
-
mod test_fdset_too_large_fd {
use super::*;
use std::convert::TryInto;