Fix documentation build under maverick (doxygen 1.7.1)
[senf.git] / senf / PPI / ActiveFeeder.test.cc
index 90d3722..ec4c378 100644 (file)
 #include "ActiveFeeder.hh"
 #include "DebugModules.hh"
 #include "Setup.hh"
+#include "CloneSource.hh"
+#include <senf/Scheduler/Scheduler.hh>
 
 #include <senf/Utils/auto_unit_test.hh>
 #include <boost/test/test_tools.hpp>
 
 #define prefix_
-///////////////////////////////cc.p////////////////////////////////////////
-
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 namespace debug = senf::ppi::module::debug;
 namespace ppi = senf::ppi;
 namespace module = senf::ppi::module;
+namespace scheduler = senf::scheduler;
+
+namespace {
+    void run(senf::ClockService::clock_type t) {
+        scheduler::TimerEvent timeout(
+                "test-timeout", &scheduler::terminate, scheduler::now() + t);
+        ppi::run();
+    }
+}
 
-BOOST_AUTO_UNIT_TEST(activeFeeder)
+SENF_AUTO_UNIT_TEST(activeFeeder)
 {
-    debug::PassiveSource source;
+    senf::PacketData::byte data[] = { 0xab };
+    senf::Packet p (senf::DataPacket::create(data));
+
+    module::CloneSource source (p);
     debug::PassiveSink sink;
     module::ActiveFeeder feeder;
 
-    ppi::connect(source,feeder);
-    ppi::connect(feeder,sink);
-
-    for (unsigned i (0); i < 500; ++i)
-        source.submit(senf::DataPacket::create());
+    ppi::connect( source, feeder );
+    ppi::connect( feeder, sink   );
 
     senf::ClockService::clock_type start (senf::ClockService::now());
-    ppi::run();
-    std::cerr << "ActiveFeeder: " 
-              << (500*1e9)/(senf::ClockService::now()-start)
+    run( senf::ClockService::seconds(1));
+    std::cerr << "\nActiveFeeder: "
+              << (sink.size()*1e9)/(senf::ClockService::now()-start)
               << " packets/s" << std::endl;
-
-    BOOST_CHECK_EQUAL( source.size(), 0u );
-    BOOST_CHECK_EQUAL( sink.size(), 500u );
+    BOOST_CHECK( sink.size() > 0);
 }
 
-///////////////////////////////cc.e////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 #undef prefix_
 
 \f