Merged revisions 570-572,574-575,578-579,581-595,598-611 via svnmerge from
[senf.git] / Socket / Protocols / INet / TCPSocketHandle.test.cc
index 279f4a1..216cadc 100644 (file)
@@ -1,9 +1,9 @@
 // $Id$
 //
 // Copyright (C) 2006
-// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
-// Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
-//     Stefan Bund <stefan.bund@fokus.fraunhofer.de>
+// Fraunhofer Institute for Open Communication Systems (FOKUS) 
+// Competence Center NETwork research (NET), St. Augustin, GERMANY 
+//     Stefan Bund <g0dil@berlios.de>
 //
 // This program is free software; you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
@@ -35,7 +35,7 @@
 #include "TCPSocketHandle.hh"
 #include <iostream>
 
-#include <boost/test/auto_unit_test.hpp>
+#include "../../../Utils/auto_unit_test.hh"
 #include <boost/test/test_tools.hpp>
 
 #define prefix_
@@ -64,6 +64,7 @@ namespace {
             (*fn)();
             _exit(0);
         }
+        ::sleep(1);
     }
 
     void wait()
@@ -156,23 +157,23 @@ BOOST_AUTO_UNIT_TEST(tcpv4ClientSocketHandle)
     {
         senf::TCPv4ClientSocketHandle sock;
 
-        BOOST_CHECK_THROW( sock.connect(senf::INet4SocketAddress("127.0.0.1:12345")), senf::SystemException );
-        BOOST_CHECK_THROW( sock.protocol().connect("127.0.0.1:12345"), senf::SystemException );
+        BOOST_CHECK_THROW( sock.connect(senf::INet4SocketAddress("127.0.0.1:12345")), 
+                           senf::SystemException );
     }
 
     try {
         alarm(10);
         start(server_v4);
         senf::TCPv4ClientSocketHandle sock;
-        BOOST_CHECK_NO_THROW( sock.bind("127.0.0.1:23456") );
-        BOOST_CHECK_NO_THROW( sock.connect("127.0.0.1:12345") );
-        BOOST_CHECK( sock.peer() == "127.0.0.1:12345" );
-        BOOST_CHECK( sock.local() == "127.0.0.1:23456" );
+        BOOST_CHECK_NO_THROW( sock.bind(senf::INet4SocketAddress("127.0.0.1:23456")) );
+        BOOST_CHECK_NO_THROW( sock.connect(senf::INet4SocketAddress("127.0.0.1:12345")) );
+        BOOST_CHECK( sock.peer() == senf::INet4SocketAddress("127.0.0.1:12345") );
+        BOOST_CHECK( sock.local() == senf::INet4SocketAddress("127.0.0.1:23456") );
         BOOST_CHECK( sock.blocking() );
-        BOOST_CHECK_NO_THROW( sock.rcvbuf(2048) );
-        BOOST_CHECK_EQUAL( sock.rcvbuf(), 2048u );
-        BOOST_CHECK_NO_THROW( sock.sndbuf(2048) );
-        BOOST_CHECK_EQUAL( sock.sndbuf(), 2048u );
+        BOOST_CHECK_NO_THROW( sock.protocol().rcvbuf(2048) );
+        BOOST_CHECK_EQUAL( sock.protocol().rcvbuf(), 2048u );
+        BOOST_CHECK_NO_THROW( sock.protocol().sndbuf(2048) );
+        BOOST_CHECK_EQUAL( sock.protocol().sndbuf(), 2048u );
         BOOST_CHECK_NO_THROW( sock.write("TEST-WRITE") );
         BOOST_CHECK_EQUAL( sock.read(), "TEST-WRITE" );
         BOOST_CHECK( !sock.eof() );
@@ -227,23 +228,23 @@ BOOST_AUTO_UNIT_TEST(tcpv6ClientSocketHandle)
     {
         senf::TCPv6ClientSocketHandle sock;
 
-        BOOST_CHECK_THROW( sock.connect(senf::INet6SocketAddress("[::1]:12345")), senf::SystemException );
-        BOOST_CHECK_THROW( sock.protocol().connect("[::1]:12345"), senf::SystemException );
+        BOOST_CHECK_THROW( sock.connect(senf::INet6SocketAddress("[::1]:12345")), 
+                           senf::SystemException );
     }
 
     try {
         alarm(10);
         start(server_v6);
         senf::TCPv6ClientSocketHandle sock;
-        BOOST_CHECK_NO_THROW( sock.bind("[::1]:23456") );
-        BOOST_CHECK_NO_THROW( sock.connect("[::1]:12345") );
-        BOOST_CHECK( sock.peer() == "[::1]:12345" );
-        BOOST_CHECK( sock.local() == "[::1]:23456" );
+        BOOST_CHECK_NO_THROW( sock.bind(senf::INet6SocketAddress("[::1]:23456")) );
+        BOOST_CHECK_NO_THROW( sock.connect(senf::INet6SocketAddress("[::1]:12345")) );
+        BOOST_CHECK( sock.peer() == senf::INet6SocketAddress("[::1]:12345") );
+        BOOST_CHECK( sock.local() == senf::INet6SocketAddress("[::1]:23456") );
         BOOST_CHECK( sock.blocking() );
-        BOOST_CHECK_NO_THROW( sock.rcvbuf(2048) );
-        BOOST_CHECK_EQUAL( sock.rcvbuf(), 2048u );
-        BOOST_CHECK_NO_THROW( sock.sndbuf(2048) );
-        BOOST_CHECK_EQUAL( sock.sndbuf(), 2048u );
+        BOOST_CHECK_NO_THROW( sock.protocol().rcvbuf(2048) );
+        BOOST_CHECK_EQUAL( sock.protocol().rcvbuf(), 2048u );
+        BOOST_CHECK_NO_THROW( sock.protocol().sndbuf(2048) );
+        BOOST_CHECK_EQUAL( sock.protocol().sndbuf(), 2048u );
         BOOST_CHECK_NO_THROW( sock.write("TEST-WRITE") );
         BOOST_CHECK_EQUAL( sock.read(), "TEST-WRITE" );
         // this fails with ENOFILE ... why ????
@@ -340,7 +341,7 @@ BOOST_AUTO_UNIT_TEST(tcpv4ServerSocketHandle)
     try {
         alarm(10);
         BOOST_CHECKPOINT("Opening server socket");
-        senf::TCPv4ServerSocketHandle server ("127.0.0.1:12346");
+        senf::TCPv4ServerSocketHandle server (senf::INet4SocketAddress("127.0.0.1:12346"));
         BOOST_CHECKPOINT("Starting client");
         start(client_v4);
 
@@ -366,7 +367,7 @@ BOOST_AUTO_UNIT_TEST(tcpv6ServerSocketHandle)
     try {
         alarm(10);
         BOOST_CHECKPOINT("Opening server socket");
-        senf::TCPv6ServerSocketHandle server ("[::1]:12347");
+        senf::TCPv6ServerSocketHandle server (senf::INet6SocketAddress("[::1]:12347"));
         BOOST_CHECKPOINT("Starting client");
         start(client_v6);