PPI: Missing commit
[senf.git] / Socket / Protocols / INet / MulticastSocketProtocol.test.cc
index 6f23b5d..8493c86 100644 (file)
@@ -21,7 +21,7 @@
 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 /** \file
-    \brief MulticastSocketProtocol.test unit tests */
+    \brief MulticastSocketProtocol unit tests */
 
 //#include "MulticastSocketProtocol.test.hh"
 //#include "MulticastSocketProtocol.test.ih"
@@ -29,7 +29,7 @@
 // Custom includes
 #include "UDPSocketHandle.hh"
 
-#include <boost/test/auto_unit_test.hpp>
+#include "../../../Utils/auto_unit_test.hh"
 #include <boost/test/test_tools.hpp>
 
 #define prefix_
@@ -53,8 +53,32 @@ BOOST_AUTO_UNIT_TEST(multicastSocketProtocol)
     BOOST_CHECK( ! sock.protocol().mcLoop() );
     sock.protocol().mcLoop(true);
     BOOST_CHECK( sock.protocol().mcLoop() );
-    
+
     sock.protocol().mcIface("lo");
+
+    SENF_CHECK_NO_THROW( sock.protocol().mcJoinSSMSource(
+                             senf::INet4Address(0xE0000001u),
+                             senf::INet4Address(0x7F000001u),
+                             "lo") );
+    // This fails with EADDRNOTAVAIL .. no idea why. I tried with 'eth' interface
+    // and a real address (not loopback) to no avail.
+//     SENF_CHECK_NO_THROW( sock.protocol().mcLeaveSSMSource(
+//                              senf::INet4Address(0xE0000001u),
+//                              senf::INet4Address(0x7F000001u),
+//                              "lo") );
+
+    senf::UDPv6ClientSocketHandle sock6;
+
+    SENF_CHECK_NO_THROW( sock6.protocol().mcJoinSSMSource(
+                             senf::INet6Address(0xFF00u, 0, 0, 0, 0, 0, 0, 1),
+                             senf::INet6Address::Loopback,
+                             "lo") );
+    // This fails with EADDRNOTAVAIL .. no idea why. I tried with 'eth' interface
+    // and a real address (not loopback) to no avail.
+//     SENF_CHECK_NO_THROW( sock6.protocol().mcLeaveSSMSource(
+//                              senf::INet6Address(0xFF00u, 0, 0, 0, 0, 0, 0, 1),
+//                              senf::INet6Address::Loopback,
+//                              "lo") );
 }
 
 ///////////////////////////////cc.e////////////////////////////////////////