X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FDebugModules.test.cc;h=fa198bd07e457447654f8e46b78894255fcdbd69;hb=bd9f9d3fd6fbcff0112a7bf48ab9284da9576b11;hp=3f19899d7c60e741604d0678d32f5b8dffa53169;hpb=f539f4271d470794a773a92bacd8ba086c9bc1cd;p=senf.git diff --git a/PPI/DebugModules.test.cc b/PPI/DebugModules.test.cc index 3f19899..fa198bd 100644 --- a/PPI/DebugModules.test.cc +++ b/PPI/DebugModules.test.cc @@ -1,8 +1,8 @@ // $Id$ // -// Copyright (C) 2007 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) +// Copyright (C) 2007 +// Fraunhofer Institute for Open Communication Systems (FOKUS) +// Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund // // This program is free software; you can redistribute it and/or modify @@ -21,33 +21,37 @@ // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /** \file - \brief DebubgModules.test unit tests */ + \brief DebubgModules unit tests */ //#include "DebubgModules.test.hh" //#include "DebubgModules.test.ih" // Custom includes #include -#include "Packets/Packets.hh" +#include + +#define SENF_LOG_CONF (( (senf)(log)(Debug), (_), VERBOSE )) + +#include "../Packets/Packets.hh" #include "DebugModules.hh" #include "Setup.hh" -#include +#include "../Utils/auto_unit_test.hh" #include #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 +65,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 +95,55 @@ 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) +{ + senf::log::StringTarget logTarget; + logTarget.route(); + + 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( ! logTarget.str().empty() ); +} + ///////////////////////////////cc.e//////////////////////////////////////// #undef prefix_