1 use libc::intptr_t;
2 use nix::sys::event::{EventFilter, EventFlag, FilterFlag, KEvent};
3 
4 #[test]
test_struct_kevent()5 fn test_struct_kevent() {
6     use std::mem;
7 
8     let udata: intptr_t = 12345;
9     let data: intptr_t = 0x1337;
10 
11     let actual = KEvent::new(
12         0xdead_beef,
13         EventFilter::EVFILT_READ,
14         EventFlag::EV_ONESHOT | EventFlag::EV_ADD,
15         FilterFlag::NOTE_CHILD | FilterFlag::NOTE_EXIT,
16         data,
17         udata,
18     );
19     assert_eq!(0xdead_beef, actual.ident());
20     assert_eq!(EventFilter::EVFILT_READ, actual.filter().unwrap());
21     assert_eq!(libc::EV_ONESHOT | libc::EV_ADD, actual.flags().bits());
22     assert_eq!(libc::NOTE_CHILD | libc::NOTE_EXIT, actual.fflags().bits());
23     assert_eq!(data, actual.data());
24     assert_eq!(udata, actual.udata());
25     assert_eq!(mem::size_of::<libc::kevent>(), mem::size_of::<KEvent>());
26 }
27 
28 #[test]
test_kevent_filter()29 fn test_kevent_filter() {
30     let udata: intptr_t = 12345;
31 
32     let actual = KEvent::new(
33         0xdead_beef,
34         EventFilter::EVFILT_READ,
35         EventFlag::EV_ONESHOT | EventFlag::EV_ADD,
36         FilterFlag::NOTE_CHILD | FilterFlag::NOTE_EXIT,
37         0x1337,
38         udata,
39     );
40     assert_eq!(EventFilter::EVFILT_READ, actual.filter().unwrap());
41 }
42