// use localhost;
// use corcovado::net::{TcpListener, TcpStream, UdpSocket};
// use corcovado::*;
// use std::io::ErrorKind;

// #[test]
// fn test_tcp_register_multiple_event_loops() {
//     let addr = localhost();
//     let listener = TcpListener::bind(&addr).unwrap();

//     let poll1 = Poll::new().unwrap();
//     poll1
//         .register(
//             &listener,
//             Token(0),
//             Ready::readable() | Ready::writable(),
//             PollOpt::edge(),
//         )
//         .unwrap();

//     let poll2 = Poll::new().unwrap();

//     // Try registering the same socket with the initial one
//     let res = poll2.register(
//         &listener,
//         Token(0),
//         Ready::readable() | Ready::writable(),
//         PollOpt::edge(),
//     );
//     assert!(res.is_err());
//     assert_eq!(res.unwrap_err().kind(), ErrorKind::Other);

//     // Try cloning the socket and registering it again
//     let listener2 = listener.try_clone().unwrap();
//     let res = poll2.register(
//         &listener2,
//         Token(0),
//         Ready::readable() | Ready::writable(),
//         PollOpt::edge(),
//     );
//     assert!(res.is_err());
//     assert_eq!(res.unwrap_err().kind(), ErrorKind::Other);

//     // Try the stream
//     let stream = TcpStream::connect(&addr).unwrap();

//     poll1
//         .register(
//             &stream,
//             Token(1),
//             Ready::readable() | Ready::writable(),
//             PollOpt::edge(),
//         )
//         .unwrap();

//     let res = poll2.register(
//         &stream,
//         Token(1),
//         Ready::readable() | Ready::writable(),
//         PollOpt::edge(),
//     );
//     assert!(res.is_err());
//     assert_eq!(res.unwrap_err().kind(), ErrorKind::Other);

//     // Try cloning the socket and registering it again
//     let stream2 = stream.try_clone().unwrap();
//     let res = poll2.register(
//         &stream2,
//         Token(1),
//         Ready::readable() | Ready::writable(),
//         PollOpt::edge(),
//     );
//     assert!(res.is_err());
//     assert_eq!(res.unwrap_err().kind(), ErrorKind::Other);
// }

// #[test]
// fn test_udp_register_multiple_event_loops() {
//     let addr = localhost();
//     let socket = UdpSocket::bind(&addr).unwrap();

//     let poll1 = Poll::new().unwrap();
//     poll1
//         .register(
//             &socket,
//             Token(0),
//             Ready::readable() | Ready::writable(),
//             PollOpt::edge(),
//         )
//         .unwrap();

//     let poll2 = Poll::new().unwrap();

//     // Try registering the same socket with the initial one
//     let res = poll2.register(
//         &socket,
//         Token(0),
//         Ready::readable() | Ready::writable(),
//         PollOpt::edge(),
//     );
//     assert!(res.is_err());
//     assert_eq!(res.unwrap_err().kind(), ErrorKind::Other);

//     // Try cloning the socket and registering it again
//     let socket2 = socket.try_clone().unwrap();
//     let res = poll2.register(
//         &socket2,
//         Token(0),
//         Ready::readable() | Ready::writable(),
//         PollOpt::edge(),
//     );
//     assert!(res.is_err());
//     assert_eq!(res.unwrap_err().kind(), ErrorKind::Other);
// }
