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