X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FDebugModules.test.cc;h=e04fb7012ebb0ec42eb7c62d0d9056ebb9cdc3a5;hb=85843bd356b4380ec066e78517b7866b2f275db9;hp=3f19899d7c60e741604d0678d32f5b8dffa53169;hpb=f539f4271d470794a773a92bacd8ba086c9bc1cd;p=senf.git diff --git a/PPI/DebugModules.test.cc b/PPI/DebugModules.test.cc index 3f19899..e04fb70 100644 --- a/PPI/DebugModules.test.cc +++ b/PPI/DebugModules.test.cc @@ -26,9 +26,17 @@ //#include "DebubgModules.test.hh" //#include "DebubgModules.test.ih" + // Custom includes #include -#include "Packets/Packets.hh" +#include + +#define _senf_LOG_STREAM logstream +namespace { + std::stringstream logstream; +} + +#include "../Packets/Packets.hh" #include "DebugModules.hh" #include "Setup.hh" @@ -38,16 +46,16 @@ #define prefix_ ///////////////////////////////cc.p//////////////////////////////////////// +namespace debug = senf::ppi::module::debug; +namespace ppi = senf::ppi; + BOOST_AUTO_UNIT_TEST(debugModules) { - namespace debug = senf::ppi::module::debug; - namespace ppi = senf::ppi; - { - debug::ActivePacketSource source; - debug::PassivePacketSink sink; + debug::ActiveSource source; + debug::PassiveSink sink; - ppi::connect(source.output, sink.input); + ppi::connect(source, sink); ppi::init(); senf::PacketData::byte data[] = { 0x13u, 0x24u, 0x35u }; @@ -61,22 +69,22 @@ BOOST_AUTO_UNIT_TEST(debugModules) BOOST_CHECK_EQUAL( sink.size(), 1u ); BOOST_CHECK( ! sink.empty() ); BOOST_CHECK_EQUAL( - debug::PassivePacketSink::size_type(std::distance(sink.begin(),sink.end())), + debug::PassiveSink::size_type(std::distance(sink.begin(),sink.end())), sink.size() ); BOOST_CHECK( *sink.begin() == p ); - BOOST_CHECK( sink.back() == p ); + BOOST_CHECK( sink.front() == p ); sink.clear(); - BOOST_CHECK( ! sink.back() ); + BOOST_CHECK( ! sink.front() ); BOOST_CHECK( sink.empty() ); } { - debug::PassivePacketSource source; - debug::ActivePacketSink sink; + debug::PassiveSource source; + debug::ActiveSink sink; - ppi::connect(source.output, sink.input); + ppi::connect(source, sink); ppi::init(); senf::PacketData::byte data[] = { 0x13u, 0x24u, 0x35u }; @@ -91,6 +99,53 @@ BOOST_AUTO_UNIT_TEST(debugModules) } } +BOOST_AUTO_UNIT_TEST(activeFeederSource) +{ + debug::ActiveFeederSource source; + debug::PassiveSink sink; + + ppi::connect(source,sink); + source.submit(senf::DataPacket::create()); + ppi::run(); + + BOOST_CHECK( source.empty() ); + BOOST_CHECK_EQUAL( source.size(), 0u ); + BOOST_CHECK_EQUAL( sink.size(), 1u ); +} + +BOOST_AUTO_UNIT_TEST(activeFeederSink) +{ + debug::PassiveSource source; + debug::ActiveFeederSink sink; + + ppi::connect(source,sink); + source.submit(senf::DataPacket::create()); + ppi::run(); + + BOOST_CHECK( ! sink.empty() ); + BOOST_CHECK_EQUAL( sink.size(), 1u ); + BOOST_CHECK_EQUAL( debug::ActiveFeederSink::size_type(std::distance(sink.begin(), sink.end())), + sink.size() ); + BOOST_CHECK( sink.front().data().empty() ); + BOOST_CHECK( sink.pop_front().data().empty() ); + BOOST_CHECK( sink.empty() ); + BOOST_CHECK( source.empty() ); +} + +BOOST_AUTO_UNIT_TEST(logSink) +{ + debug::ActiveFeederSource source; + debug::LogSink<> sink; + + ppi::connect(source,sink); + senf::PacketData::byte data[] = { 0x13u, 0x24u, 0x35u }; + source.submit( senf::DataPacket::create(data) ); + senf::ppi::run(); + + BOOST_CHECK_EQUAL( logstream.str(), + " 0000 13 24 35 .$5\n\n" ); +} + ///////////////////////////////cc.e//////////////////////////////////////// #undef prefix_