13da5c369Sopenharmony_ciuse nix::errno::Errno;
23da5c369Sopenharmony_ciuse nix::sys::epoll::{epoll_create1, epoll_ctl};
33da5c369Sopenharmony_ciuse nix::sys::epoll::{EpollCreateFlags, EpollEvent, EpollFlags, EpollOp};
43da5c369Sopenharmony_ci
53da5c369Sopenharmony_ci#[test]
63da5c369Sopenharmony_cipub fn test_epoll_errno() {
73da5c369Sopenharmony_ci    let efd = epoll_create1(EpollCreateFlags::empty()).unwrap();
83da5c369Sopenharmony_ci    let result = epoll_ctl(efd, EpollOp::EpollCtlDel, 1, None);
93da5c369Sopenharmony_ci    result.expect_err("assertion failed");
103da5c369Sopenharmony_ci    assert_eq!(result.unwrap_err(), Errno::ENOENT);
113da5c369Sopenharmony_ci
123da5c369Sopenharmony_ci    let result = epoll_ctl(efd, EpollOp::EpollCtlAdd, 1, None);
133da5c369Sopenharmony_ci    result.expect_err("assertion failed");
143da5c369Sopenharmony_ci    assert_eq!(result.unwrap_err(), Errno::EINVAL);
153da5c369Sopenharmony_ci}
163da5c369Sopenharmony_ci
173da5c369Sopenharmony_ci#[test]
183da5c369Sopenharmony_cipub fn test_epoll_ctl() {
193da5c369Sopenharmony_ci    let efd = epoll_create1(EpollCreateFlags::empty()).unwrap();
203da5c369Sopenharmony_ci    let mut event =
213da5c369Sopenharmony_ci        EpollEvent::new(EpollFlags::EPOLLIN | EpollFlags::EPOLLERR, 1);
223da5c369Sopenharmony_ci    epoll_ctl(efd, EpollOp::EpollCtlAdd, 1, &mut event).unwrap();
233da5c369Sopenharmony_ci    epoll_ctl(efd, EpollOp::EpollCtlDel, 1, None).unwrap();
243da5c369Sopenharmony_ci}
25