diff options
Diffstat (limited to 'test/sys')
-rw-r--r-- | test/sys/mod.rs | 1 | ||||
-rw-r--r-- | test/sys/test_select.rs | 59 |
2 files changed, 0 insertions, 60 deletions
diff --git a/test/sys/mod.rs b/test/sys/mod.rs index 2ecc36f8..3aab9fc5 100644 --- a/test/sys/mod.rs +++ b/test/sys/mod.rs @@ -9,7 +9,6 @@ mod test_sockopt; mod test_termios; mod test_ioctl; mod test_wait; -mod test_select; mod test_uio; #[cfg(target_os = "linux")] diff --git a/test/sys/test_select.rs b/test/sys/test_select.rs deleted file mode 100644 index d50c7d74..00000000 --- a/test/sys/test_select.rs +++ /dev/null @@ -1,59 +0,0 @@ -use nix::sys::select::{FdSet, FD_SETSIZE, select}; -use nix::sys::time::{TimeVal, TimeValLike}; -use nix::unistd::{write, pipe}; - -#[test] -fn test_fdset() { - let mut fd_set = FdSet::new(); - - for i in 0..FD_SETSIZE { - assert!(!fd_set.contains(i)); - } - - fd_set.insert(7); - - assert!(fd_set.contains(7)); - - fd_set.remove(7); - - for i in 0..FD_SETSIZE { - assert!(!fd_set.contains(i)); - } - - fd_set.insert(1); - fd_set.insert(FD_SETSIZE / 2); - fd_set.insert(FD_SETSIZE - 1); - - fd_set.clear(); - - for i in 0..FD_SETSIZE { - assert!(!fd_set.contains(i)); - } -} - -// powerpc-unknown-linux-gnu currently fails on the first `assert_eq` because -// `select()` returns a 0 instead of a 1. Since this test has only been run on -// qemu, it's unclear if this is a OS or qemu bug. Just disable it on that arch -// for now. -// FIXME: Fix tests for powerpc and mips -// FIXME: Add a link to an upstream qemu bug if there is one -#[test] -#[cfg_attr(any(target_arch = "powerpc", target_arch = "mips"), ignore)] -fn test_select() { - let (r1, w1) = pipe().unwrap(); - write(w1, b"hi!").unwrap(); - let (r2, _w2) = pipe().unwrap(); - - let mut fd_set = FdSet::new(); - fd_set.insert(r1); - fd_set.insert(r2); - - let mut timeout = TimeVal::seconds(10); - assert_eq!(1, select(r2 + 1, - Some(&mut fd_set), - None, - None, - Some(&mut timeout)).unwrap()); - assert!(fd_set.contains(r1)); - assert!(!fd_set.contains(r2)); -} |