Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 19 additions & 6 deletions tests/socket.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1352,29 +1352,40 @@ macro_rules! test {
#[test]
$( #[$attr] )*
fn $get_fn() {
test!(__ Domain::IPV4, $get_fn, $set_fn($arg), $expected);
test!(__ Domain::IPV4, STREAM, None, $get_fn, $set_fn($arg), $expected);
#[cfg(not(target_os = "vita"))]
test!(__ Domain::IPV6, $get_fn, $set_fn($arg), $expected);
test!(__ Domain::IPV6, STREAM, None, $get_fn, $set_fn($arg), $expected);
}
};
// Only test using a IPv4 socket.
(IPv4:DGRAM $get_fn: ident, $set_fn: ident ( $arg: expr ) ) => {
#[test]
fn $get_fn() {
test!(__ Domain::IPV4, DGRAM, Some("127.0.0.1:0"), $get_fn, $set_fn($arg), $arg);
}
};
// Only test using a IPv4 socket.
(IPv4 $get_fn: ident, $set_fn: ident ( $arg: expr ) ) => {
#[test]
fn $get_fn() {
test!(__ Domain::IPV4, $get_fn, $set_fn($arg), $arg);
test!(__ Domain::IPV4, STREAM, None, $get_fn, $set_fn($arg), $arg);
}
};
// Only test using a IPv6 socket.
(IPv6 $get_fn: ident, $set_fn: ident ( $arg: expr ) ) => {
#[test]
fn $get_fn() {
test!(__ Domain::IPV6, $get_fn, $set_fn($arg), $arg);
test!(__ Domain::IPV6, STREAM, None, $get_fn, $set_fn($arg), $arg);
}
};

// Internal to this macro.
(__ $ty: expr, $get_fn: ident, $set_fn: ident ( $arg: expr ), $expected: expr ) => {
let socket = Socket::new($ty, Type::STREAM, None).expect("failed to create `Socket`");
(__ $dom: expr, $ty: ident, $bind_addr:expr, $get_fn: ident, $set_fn: ident ( $arg: expr ), $expected: expr ) => {
let socket = Socket::new($dom, Type::$ty, None).expect("failed to create `Socket`");
if let Some(addr) = $bind_addr {
use std::str::FromStr as _;
socket.bind(&SocketAddr::from_str(addr).unwrap().into()).expect("Failed to bind");
}

let initial = socket.$get_fn().expect("failed to get initial value");
let arg = $arg;
Expand Down Expand Up @@ -1582,6 +1593,8 @@ test!(IPv4 multicast_all_v4, set_multicast_all_v4(false));
#[cfg(all(feature = "all", target_os = "linux"))]
test!(IPv6 multicast_all_v6, set_multicast_all_v6(false));

test!(IPv4:DGRAM multicast_ttl_v4, set_multicast_ttl_v4(40));

#[test]
#[cfg(not(any(
target_os = "haiku",
Expand Down