X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FProtocols%2FINet%2FTCPSocketHandle.test.cc;h=b9952c180828c85d0919e5313fb4f30f14d52b8f;hb=a1fdb7bb122f0b05be809a922d4b7ef5e125fa67;hp=3ed3a0a0e8dc701c5095d1ed8474892e9a557a0b;hpb=a1a6c76a214ad1935032826713cabaf9ac57bf07;p=senf.git diff --git a/Socket/Protocols/INet/TCPSocketHandle.test.cc b/Socket/Protocols/INet/TCPSocketHandle.test.cc index 3ed3a0a..b9952c1 100644 --- a/Socket/Protocols/INet/TCPSocketHandle.test.cc +++ b/Socket/Protocols/INet/TCPSocketHandle.test.cc @@ -20,7 +20,8 @@ // Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// Unit tests +/** \file + \brief TCPSocketHandle unit tests */ //#include "TCPSocketHandle.test.hh" //#include "TCPSocketHandle.test.ih" @@ -32,8 +33,8 @@ #include #include #include -#include "TCPSocketHandle.hh" #include +#include "TCPSocketHandle.hh" #include "../../../Utils/auto_unit_test.hh" #include @@ -61,9 +62,11 @@ namespace { server_pid = ::fork(); if (server_pid < 0) BOOST_FAIL("fork()"); if (server_pid == 0) { + signal(SIGCHLD, SIG_IGN); (*fn)(); _exit(0); } + signal(SIGCHLD, SIG_DFL); ::sleep(1); } @@ -165,19 +168,19 @@ BOOST_AUTO_UNIT_TEST(tcpv4ClientSocketHandle) alarm(10); start(server_v4); senf::TCPv4ClientSocketHandle sock; - 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")) ); + SENF_CHECK_NO_THROW( sock.bind(senf::INet4SocketAddress("127.0.0.1:23456")) ); + SENF_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.protocol().rcvbuf(2048) ); + SENF_CHECK_NO_THROW( sock.protocol().rcvbuf(2048) ); BOOST_CHECK_EQUAL( sock.protocol().rcvbuf(), 2048u ); - BOOST_CHECK_NO_THROW( sock.protocol().sndbuf(2048) ); + SENF_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" ); + SENF_CHECK_NO_THROW( sock.write(std::string("TEST-WRITE")) ); + BOOST_CHECK_EQUAL( sock.read(), std::string("TEST-WRITE") ); BOOST_CHECK( !sock.eof() ); - sock.write("QUIT"); + sock.write(std::string("QUIT")); sleep(1); stop(); sleep(1); @@ -200,25 +203,25 @@ BOOST_AUTO_UNIT_TEST(tcpv4ClientSocketHandle) // are at least not sensible ... // I'll have to move those to a UDPSocket test ... they should // realy only be in the UDP Protocol implementation -// BOOST_CHECK_NO_THROW( sock.protocol().mcTTL() ); +// SENF_CHECK_NO_THROW( sock.protocol().mcTTL() ); // BOOST_CHECK_THROW( sock.protocol().mcTTL(1), senf::SystemException ); -// BOOST_CHECK_NO_THROW( sock.protocol().mcLoop() ); -// BOOST_CHECK_NO_THROW( sock.protocol().mcLoop(false) ); -// BOOST_CHECK_NO_THROW( sock.protocol().mcAddMembership("224.0.0.1:0") ); -// BOOST_CHECK_NO_THROW( sock.protocol().mcAddMembership("224.0.0.1:0","127.0.0.1:0") ); -// BOOST_CHECK_NO_THROW( sock.protocol().mcDropMembership("224.0.0.1:0","127.0.0.1:0") ); -// BOOST_CHECK_NO_THROW( sock.protocol().mcDropMembership("224.0.0.1:0") ); +// SENF_CHECK_NO_THROW( sock.protocol().mcLoop() ); +// SENF_CHECK_NO_THROW( sock.protocol().mcLoop(false) ); +// SENF_CHECK_NO_THROW( sock.protocol().mcAddMembership("224.0.0.1:0") ); +// SENF_CHECK_NO_THROW( sock.protocol().mcAddMembership("224.0.0.1:0","127.0.0.1:0") ); +// SENF_CHECK_NO_THROW( sock.protocol().mcDropMembership("224.0.0.1:0","127.0.0.1:0") ); +// SENF_CHECK_NO_THROW( sock.protocol().mcDropMembership("224.0.0.1:0") ); // BOOST_CHECK_THROW( sock.protocol().mcIface("lo"), senf::SystemException ); // The following setsockopts are hard to REALLY test ... - BOOST_CHECK_NO_THROW( sock.protocol().nodelay(true) ); + SENF_CHECK_NO_THROW( sock.protocol().nodelay(true) ); BOOST_CHECK( sock.protocol().nodelay() ); BOOST_CHECK_EQUAL( sock.protocol().siocinq(), 0u ); BOOST_CHECK_EQUAL( sock.protocol().siocoutq(), 0u ); - BOOST_CHECK_NO_THROW( sock.protocol().reuseaddr(true) ); + SENF_CHECK_NO_THROW( sock.protocol().reuseaddr(true) ); BOOST_CHECK( sock.protocol().reuseaddr() ); - BOOST_CHECK_NO_THROW( sock.protocol().linger(true,0) ); + SENF_CHECK_NO_THROW( sock.protocol().linger(true,0) ); BOOST_CHECK( sock.protocol().linger() == std::make_pair(true, 0u) ); } } @@ -236,21 +239,21 @@ BOOST_AUTO_UNIT_TEST(tcpv6ClientSocketHandle) alarm(10); start(server_v6); senf::TCPv6ClientSocketHandle sock; - BOOST_CHECK_NO_THROW( sock.bind(senf::INet6SocketAddress("[::1]:23456")) ); - BOOST_CHECK_NO_THROW( sock.connect(senf::INet6SocketAddress("[::1]:12345")) ); + SENF_CHECK_NO_THROW( sock.bind(senf::INet6SocketAddress("[::1]:23456")) ); + SENF_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.protocol().rcvbuf(2048) ); + SENF_CHECK_NO_THROW( sock.protocol().rcvbuf(2048) ); BOOST_CHECK_EQUAL( sock.protocol().rcvbuf(), 2048u ); - BOOST_CHECK_NO_THROW( sock.protocol().sndbuf(2048) ); + SENF_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" ); + SENF_CHECK_NO_THROW( sock.write(std::string("TEST-WRITE")) ); + BOOST_CHECK_EQUAL( sock.read(), std::string("TEST-WRITE") ); // this fails with ENOFILE ... why ???? - // BOOST_CHECK_NO_THROW( sock.protocol().timestamp() ); + // SENF_CHECK_NO_THROW( sock.protocol().timestamp() ); BOOST_CHECK( !sock.eof() ); - sock.write("QUIT"); + sock.write(std::string("QUIT")); sleep(1); stop(); sleep(1); @@ -270,14 +273,14 @@ BOOST_AUTO_UNIT_TEST(tcpv6ClientSocketHandle) senf::TCPv6ClientSocketHandle sock; // The following setsockopts are hard to REALLY test ... - BOOST_CHECK_NO_THROW( sock.protocol().nodelay(true) ); + SENF_CHECK_NO_THROW( sock.protocol().nodelay(true) ); BOOST_CHECK( sock.protocol().nodelay() ); BOOST_CHECK_EQUAL( sock.protocol().siocinq(), 0u ); BOOST_CHECK_EQUAL( sock.protocol().siocoutq(), 0u ); - BOOST_CHECK_NO_THROW( sock.protocol().reuseaddr(true) ); + SENF_CHECK_NO_THROW( sock.protocol().reuseaddr(true) ); BOOST_CHECK( sock.protocol().reuseaddr() ); - BOOST_CHECK_NO_THROW( sock.protocol().linger(true,0) ); + SENF_CHECK_NO_THROW( sock.protocol().linger(true,0) ); BOOST_CHECK( sock.protocol().linger() == std::make_pair(true, 0u) ); } } @@ -347,7 +350,7 @@ BOOST_AUTO_UNIT_TEST(tcpv4ServerSocketHandle) BOOST_CHECKPOINT("Accepting connection"); senf::TCPv4ClientSocketHandle client = server.accept(); - BOOST_CHECK_NO_THROW(client.write("QUIT")); + SENF_CHECK_NO_THROW(client.write(std::string("QUIT"))); BOOST_CHECKPOINT("Stopping client"); sleep(1); @@ -373,7 +376,7 @@ BOOST_AUTO_UNIT_TEST(tcpv6ServerSocketHandle) BOOST_CHECKPOINT("Accepting connection"); senf::TCPv6ClientSocketHandle client = server.accept(); - BOOST_CHECK_NO_THROW(client.write("QUIT")); + SENF_CHECK_NO_THROW(client.write(std::string("QUIT"))); BOOST_CHECKPOINT("Stopping client"); sleep(1);