[go: up one dir, main page]

socket2 0.3.18

Utilities for handling networking sockets with a maximal amount of configuration possible intended.
Documentation
diff --git a/tests/options.rs b/tests/options.rs
index 9a96b9c..be11d58 100644
--- a/tests/options.rs
+++ b/tests/options.rs
@@ -5,33 +5,36 @@ use socket2::{Domain, Socket, Type};
 /// Macro to create a simple test to set and get a socket option.
 macro_rules! test {
     ($get_fn: ident, $set_fn: ident ( $arg: expr ) ) => {
+        test!($get_fn, $set_fn($arg), $arg);
+    };
+    ($get_fn: ident, $set_fn: ident ( $arg: expr ), $expected: expr ) => {
         #[test]
         fn $get_fn() {
-            test!(Domain::IPV4, $get_fn, $set_fn($arg));
-            test!(Domain::IPV6, $get_fn, $set_fn($arg));
+            test!(Domain::IPV4, $get_fn, $set_fn($arg), $expected);
+            test!(Domain::IPV6, $get_fn, $set_fn($arg), $expected);
         }
     };
     // 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));
+            test!(Domain::IPV4, $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));
+            test!(Domain::IPV6, $get_fn, $set_fn($arg), $arg);
         }
     };
 
-    ($ty: expr, $get_fn: ident, $set_fn: ident ( $arg: expr ) ) => {
+    ($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`");
 
         let initial = socket.$get_fn().expect("failed to get initial value");
         let arg = $arg;
-        let expected = arg.clone();
+        let expected = $expected;
         assert_ne!(initial, arg, "initial value and argument are the same");
 
         socket.$set_fn(arg).expect("failed to set option");
@@ -41,8 +44,8 @@ macro_rules! test {
 }
 
 test!(nodelay, set_nodelay(true));
-test!(recv_buffer_size, set_recv_buffer_size(512));
-test!(send_buffer_size, set_send_buffer_size(512));
+test!(recv_buffer_size, set_recv_buffer_size(4096), 8192);
+test!(send_buffer_size, set_send_buffer_size(4096), 8192);
 #[cfg(all(feature = "all", not(target_os = "redox")))]
 test!(out_of_band_inline, set_out_of_band_inline(true));
 test!(reuse_address, set_reuse_address(true));
@@ -52,7 +55,9 @@ test!(reuse_address, set_reuse_address(true));
 ))]
 test!(reuse_port, set_reuse_port(true));
 #[cfg(all(feature = "all", unix))]
-test!(mss, set_mss(1300));
+test!(mss, set_mss(200));
+#[cfg(all(feature = "all", target_os = "linux"))]
+test!(mark, set_mark(123));
 
 test!(IPv4 ttl, set_ttl(40));
 test!(IPv4 broadcast, set_broadcast(true));