X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPPI%2FRateFilter.test.cc;h=35ec9bc6946968a42d6c59021746a9f0301b3f57;hb=78a6e233083efa63a9cd0684a92abc64202a9ee7;hp=f7e1663f6771eeeea8fa2b75e3b0b9a3bb02686c;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/PPI/RateFilter.test.cc b/senf/PPI/RateFilter.test.cc index f7e1663..35ec9bc 100644 --- a/senf/PPI/RateFilter.test.cc +++ b/senf/PPI/RateFilter.test.cc @@ -27,9 +27,9 @@ #include "RateFilter.hh" #include "DebugModules.hh" #include "Setup.hh" -#include "../Utils/membind.hh" +#include -#include "../Utils/auto_unit_test.hh" +#include #include #define prefix_ @@ -44,24 +44,24 @@ namespace { } } -BOOST_AUTO_UNIT_TEST(rateFilter) +SENF_AUTO_UNIT_TEST(rateFilter) { module::RateFilter rateFilter ( senf::ClockService::milliseconds(100) ); debug::PassiveSource source; debug::PassiveSink sink; - + ppi::connect(source, rateFilter); ppi::connect(rateFilter, sink); - + std::string data ("TEST"); senf::Packet p (senf::DataPacket::create(data)); for (int i=0; i<10; i++) - source.submit(p); - + source.submit(p); + senf::scheduler::TimerEvent timer ( "rateFilter test timer", &timeout, senf::ClockService::now() + senf::ClockService::milliseconds(250)); - + senf::ppi::run(); BOOST_CHECK_EQUAL( rateFilter.interval(), senf::ClockService::milliseconds(100) ); @@ -80,33 +80,39 @@ namespace { }; } -BOOST_AUTO_UNIT_TEST(rateFilter_changeInterval) +SENF_AUTO_UNIT_TEST(rateFilter_changeInterval) { + char const * enabled (getenv("SENF_TIMING_CRITICAL_TESTS")); + if (! enabled) { + BOOST_WARN_MESSAGE(false, "Set SENF_TIMING_CRITICAL_TESTS to not skip timing critical tests"); + } + module::RateFilter rateFilter ( senf::ClockService::milliseconds(100) ); debug::PassiveSource source; debug::PassiveSink sink; - + ppi::connect(source, rateFilter); ppi::connect(rateFilter, sink); - + std::string data ("TEST"); senf::Packet p (senf::DataPacket::create(data)); for (int i=0; i<10; i++) - source.submit(p); - + source.submit(p); + senf::scheduler::TimerEvent timeoutTimer ( "rateFilter test timer", &timeout, senf::ClockService::now() + senf::ClockService::milliseconds(675)); - + RateFilter_IntervalChanger intervalChanger (rateFilter); - senf::scheduler::TimerEvent timer ( "RateFilter_IntervalChanger timer", + senf::scheduler::TimerEvent timer ( "RateFilter_IntervalChanger timer", senf::membind(&RateFilter_IntervalChanger::changeInterval, intervalChanger), senf::ClockService::now() + senf::ClockService::milliseconds(250)); - + senf::ppi::run(); BOOST_CHECK_EQUAL( rateFilter.interval(), senf::ClockService::milliseconds(200) ); - BOOST_CHECK_EQUAL( sink.size(), 4); + if (enabled) + BOOST_CHECK_EQUAL( sink.size(), 4); } ///////////////////////////////cc.e////////////////////////////////////////