X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPPI%2FRateFilter.test.cc;h=3a6f54a50780edb1cdfad1004f1b87388ee7d3b8;hb=7ee689fe38d66aa3a0004d55e8708750d35adc0b;hp=f7e1663f6771eeeea8fa2b75e3b0b9a3bb02686c;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/PPI/RateFilter.test.cc b/senf/PPI/RateFilter.test.cc index f7e1663..3a6f54a 100644 --- a/senf/PPI/RateFilter.test.cc +++ b/senf/PPI/RateFilter.test.cc @@ -27,13 +27,13 @@ #include "RateFilter.hh" #include "DebugModules.hh" #include "Setup.hh" -#include "../Utils/membind.hh" +#include -#include "../Utils/auto_unit_test.hh" +#include #include #define prefix_ -///////////////////////////////cc.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// namespace ppi = senf::ppi; namespace module = ppi::module; namespace debug = module::debug; @@ -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,36 +80,42 @@ 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//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #undef prefix_