X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPPI%2FSocketSink.test.cc;h=ee4e2fe5637bec503c1337303f8cf360335b60a7;hb=93d9568d448749dc187e7622b733a4a3caa319df;hp=9fc999a800c63a094eb3ee5473a3718123218c0f;hpb=26610f603ebdd465307b9621f532c1fe19fd5571;p=senf.git diff --git a/senf/PPI/SocketSink.test.cc b/senf/PPI/SocketSink.test.cc index 9fc999a..ee4e2fe 100644 --- a/senf/PPI/SocketSink.test.cc +++ b/senf/PPI/SocketSink.test.cc @@ -38,7 +38,7 @@ #include #define prefix_ -///////////////////////////////cc.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// namespace ppi = senf::ppi; namespace module = ppi::module; namespace debug = module::debug; @@ -47,12 +47,31 @@ namespace { void timeout() { 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(); + } } -BOOST_AUTO_UNIT_TEST(passiveSocketSink) +SENF_AUTO_UNIT_TEST(passiveSocketSink) { senf::ConnectedUDPv4ClientSocketHandle outputSocket ( - senf::INet4SocketAddress("localhost:44344")); + senf::INet4SocketAddress(localhost4str(0))); module::PassiveSocketSink<> udpSink(outputSocket); debug::ActiveSource source; ppi::connect(source, udpSink); @@ -61,7 +80,7 @@ BOOST_AUTO_UNIT_TEST(passiveSocketSink) senf::Packet p (senf::DataPacket::create(data)); senf::UDPv4ClientSocketHandle inputSocket; - inputSocket.bind(senf::INet4SocketAddress("localhost:44344")); + inputSocket.bind(senf::INet4SocketAddress(localhost4str(0))); senf::ppi::init(); source.submit(p); @@ -69,10 +88,10 @@ BOOST_AUTO_UNIT_TEST(passiveSocketSink) BOOST_CHECK_EQUAL( data, input ); } -BOOST_AUTO_UNIT_TEST(activeSocketSink) +SENF_AUTO_UNIT_TEST(activeSocketSink) { senf::ConnectedUDPv4ClientSocketHandle outputSocket ( - senf::INet4SocketAddress("localhost:44344")); + senf::INet4SocketAddress(localhost4str(0))); module::ActiveSocketSink<> udpSink(outputSocket); debug::PassiveSource source; ppi::connect(source, udpSink); @@ -81,7 +100,7 @@ BOOST_AUTO_UNIT_TEST(activeSocketSink) senf::Packet p (senf::DataPacket::create(data)); senf::UDPv4ClientSocketHandle inputSocket; - inputSocket.bind(senf::INet4SocketAddress("localhost:44344")); + inputSocket.bind(senf::INet4SocketAddress(localhost4str(0))); senf::scheduler::TimerEvent timer ( "activeSocketSink test timer", &timeout, senf::ClockService::now() + senf::ClockService::milliseconds(100)); @@ -92,7 +111,7 @@ BOOST_AUTO_UNIT_TEST(activeSocketSink) BOOST_CHECK_EQUAL( data, input ); } -///////////////////////////////cc.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #undef prefix_