X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FConsole%2FUDPServer.test.cc;h=c4dc8a99007f2291f3322ad21fdb58ea3567a5cf;hb=b6acba899f44ba9422476022c775cef823fc9337;hp=ca59bfaeb7148778c304a31aa2f7b83a7f31269d;hpb=26610f603ebdd465307b9621f532c1fe19fd5571;p=senf.git diff --git a/senf/Utils/Console/UDPServer.test.cc b/senf/Utils/Console/UDPServer.test.cc index ca59bfa..c4dc8a9 100644 --- a/senf/Utils/Console/UDPServer.test.cc +++ b/senf/Utils/Console/UDPServer.test.cc @@ -42,6 +42,25 @@ namespace { senf::scheduler::terminate(); } + int base_pid = 0; + + unsigned port(unsigned i) + { + if (! base_pid) + base_pid = ::getpid(); + return 23456u + (((base_pid^(base_pid>>8)^(base_pid>>16)^(base_pid>>24))&0xff)<<2) + i; + } + + std::string localhost4str(unsigned i) + { + return (boost::format("localhost:%d") % port(i)).str(); + } + + std::string localhost6str(unsigned i) + { + return (boost::format("[::1]:%d") % port(i)).str(); + } + unsigned nread (0); unsigned flags (0); std::string data; @@ -62,8 +81,8 @@ namespace { BOOST_AUTO_UNIT_TEST(udpServer) { - senf::console::UDPServer server (senf::INet4SocketAddress("127.0.0.1:23232")); - senf::ConnectedUDPv4ClientSocketHandle socket (senf::INet4SocketAddress("127.0.0.1:23232")); + senf::console::UDPServer server (senf::INet4SocketAddress(localhost4str(0))); + senf::ConnectedUDPv4ClientSocketHandle socket (senf::INet4SocketAddress(localhost4str(0))); senf::scheduler::TimerEvent timer ("udpServer test timer", &timeout); senf::scheduler::FdEvent fdev ("udpServer test fd", boost::bind(&read, socket, _1), socket, senf::scheduler::FdEvent::EV_READ);