Skip to content
Snippets Groups Projects

Test/macos

Merged Georgy Moshkin requested to merge test/macos into master
Compare and Show latest version
1 file
+ 31
17
Compare changes
  • Side-by-side
  • Inline
@@ -485,37 +485,51 @@ mod tests {
const _10_SEC: Duration = Duration::from_secs(10);
const _0_SEC: Duration = Duration::from_secs(0);
#[inline(always)]
fn to_socket_addr_v4(addr: libc::sockaddr_in) -> SocketAddrV4 {
SocketAddrV4::new(
Ipv4Addr::from(u32::from_be(addr.sin_addr.s_addr)),
u16::from_be(addr.sin_port),
)
}
#[crate::test(tarantool = "crate")]
async fn get_libc_addrs() {
let (addrs_v4, addrs_v6) =
unsafe { resolve_addr("example.org", 80, _10_SEC.as_secs_f64()).unwrap() };
assert_eq!(addrs_v4.len(), 1);
dbg!(&addrs_v4);
let addrs_2: std::collections::HashSet<_> = ToSocketAddrs::to_socket_addrs("example.org:80")
let addrs_from_std: Vec<_> = ToSocketAddrs::to_socket_addrs(&("example.org", 80))
.unwrap()
.collect();
dbg!(addrs_2);
assert_eq!(addrs_v6.len(), 1);
assert_eq!(addrs_v4.len() + addrs_v6.len(), addrs_from_std.len());
let expected_addr = match ToSocketAddrs::to_socket_addrs("example.org:80")
.unwrap()
.collect::<Vec<_>>()
.first()
let expected_addr = match addrs_from_std[0] {
SocketAddr::V4(v) => v,
other => panic!("Expected v4 addr, got {:?}", other),
};
assert_eq!(expected_addr, to_socket_addr_v4(addrs_v4[0]));
//
// check what happens with "localhost"
//
let (addrs_v4, addrs_v6) =
unsafe { resolve_addr("localhost", 1337, _10_SEC.as_secs_f64()).unwrap() };
let addrs_from_std: Vec<_> = ToSocketAddrs::to_socket_addrs(&("localhost", 1337))
.unwrap()
.to_owned()
{
.collect();
dbg!(&addrs_from_std);
assert_eq!(addrs_v4.len() + addrs_v6.len(), addrs_from_std.len());
let expected_addr = match addrs_from_std[0] {
SocketAddr::V4(v) => v,
other => panic!("Expected v4 addr, got {:?}", other),
};
let received_addr = SocketAddrV4::new(
Ipv4Addr::from(u32::from_be(addrs_v4[0].sin_addr.s_addr)),
u16::from_be(addrs_v4[0].sin_port),
);
assert_eq!(expected_addr, received_addr);
assert_eq!(expected_addr, to_socket_addr_v4(addrs_v4[0]));
}
#[crate::test(tarantool = "crate")]
Loading