X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPPI%2FRateAnalyzer.test.cc;h=bcf6e54e4ffd2ce1349ac59fabad0c34be01a815;hb=c505c034e5fdc932c02aa3dc3847a5551011d87e;hp=c5ac1461c2ba0eeefc5970535c85168f13f6f243;hpb=26610f603ebdd465307b9621f532c1fe19fd5571;p=senf.git diff --git a/senf/PPI/RateAnalyzer.test.cc b/senf/PPI/RateAnalyzer.test.cc index c5ac146..bcf6e54 100644 --- a/senf/PPI/RateAnalyzer.test.cc +++ b/senf/PPI/RateAnalyzer.test.cc @@ -1,6 +1,6 @@ // $Id$ // -// Copyright (C) 2008 +// Copyright (C) 2008 // Fraunhofer Institute for Open Communication Systems (FOKUS) // Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund @@ -28,7 +28,9 @@ // Custom includes #include "RateAnalyzer.hh" -#include "PPI.hh" +#include "CloneSource.hh" +#include "RateFilter.hh" +#include "Setup.hh" #include #include @@ -38,7 +40,7 @@ ///////////////////////////////cc.p//////////////////////////////////////// namespace { - + unsigned calls (0u); float ppss[] = { 13.333333f, 20.f, 13.333333f, 20.f, 13.333333f, 20.f }; @@ -58,7 +60,7 @@ namespace { if (calls >= sizeof(ppss) / sizeof(ppss[0])) senf::scheduler::terminate(); } - + void collectBPS(float bytesPerSecond) { bps += bytesPerSecond; @@ -72,8 +74,12 @@ namespace { } } -BOOST_AUTO_UNIT_TEST(rateAnalyzer) +SENF_AUTO_UNIT_TEST(rateAnalyzer) { + 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"); + } senf::DataPacket p (senf::DataPacket::create(13u)); senf::ppi::module::CloneSource source (p); senf::ppi::module::RateFilter filter (senf::ClockService::milliseconds(58u)); @@ -87,14 +93,16 @@ BOOST_AUTO_UNIT_TEST(rateAnalyzer) senf::ppi::connect(filter, analyzer); senf::ppi::run(); - + BOOST_CHECK_EQUAL( calls, 6u ); pps /= calls; bps /= calls; - BOOST_CHECK_CLOSE( pps, 16.67f, .1f ); - BOOST_CHECK_CLOSE( bps, 216.67f, .1f ); + if (enabled) { + BOOST_CHECK_CLOSE( pps, 16.67f, .1f ); + BOOST_CHECK_CLOSE( bps, 216.67f, .1f ); + } } ///////////////////////////////cc.e////////////////////////////////////////