#[macro_use] mod sys_common; use std::fs::File; use std::io::Read; use system_interface::io::ReadReady; #[test] fn file_is_read_write() { let mut f = File::open("Cargo.toml").unwrap(); let len = f.metadata().unwrap().len(); assert_eq!(f.num_ready_bytes().unwrap(), len); let mut buf = [0u8; 6]; f.read_exact(&mut buf).unwrap(); assert_eq!(f.num_ready_bytes().unwrap(), len - (buf.len() as u64)); #[cfg(target_os = "linux")] { let f = File::open("/dev/urandom").unwrap(); let _ = f.num_ready_bytes().unwrap(); let f = File::open("/dev/null").unwrap(); let _ = f.num_ready_bytes().unwrap(); } }