#include "Scheduler.hh"
#include <boost/bind.hpp>
-#include "../Utils//auto_unit_test.hh"
+#include <senf/Utils/auto_unit_test.hh>
#include <boost/test/test_tools.hpp>
#include <boost/random.hpp>
bool is_close(senf::ClockService::clock_type a, senf::ClockService::clock_type b)
{
- return (a<b ? b-a : a-b) < senf::ClockService::milliseconds(100);
+ return (a<b ? b-a : a-b) < senf::ClockService::milliseconds(50);
}
bool called = false;
}
-BOOST_AUTO_UNIT_TEST(timerDispatcher)
+SENF_AUTO_UNIT_TEST(timerDispatcher)
{
+ char const * enabled (getenv("SENF_TIMING_CRITICAL_TESTS"));
+ BOOST_WARN_MESSAGE(enabled, "Set SENF_TIMING_CRITICAL_TESTS to not skip timing critical tests");
+
senf::scheduler::detail::FdManager::instance().timeout(1000);
senf::ClockService::clock_type t (senf::ClockService::now());
senf::ClockService::clock_type t2 (senf::ClockService::now());
BOOST_CHECK( called );
BOOST_CHECK( ! timer.enabled() );
- BOOST_CHECK_PREDICATE( is_close, (t2-t)(senf::ClockService::milliseconds(500)) );
+ if (enabled)
+ BOOST_CHECK_PREDICATE( is_close, (t2-t)(senf::ClockService::milliseconds(500)) );
called=false;
t = senf::ClockService::now();
SENF_CHECK_NO_THROW( senf::scheduler::detail::TimerDispatcher::instance().prepareRun() );
SENF_CHECK_NO_THROW( senf::scheduler::detail::FIFORunner::instance().run() );
SENF_CHECK_NO_THROW( senf::scheduler::detail::TimerDispatcher::instance().disable() );
- BOOST_CHECK_PREDICATE( is_close, (t) (senf::ClockService::now()) );
+ if (enabled)
+ BOOST_CHECK_PREDICATE( is_close, (t) (senf::ClockService::now()) );
BOOST_CHECK( called );
}
}
}
-BOOST_AUTO_UNIT_TEST(timerJitter)
+SENF_AUTO_UNIT_TEST(timerJitter)
{
senf::scheduler::watchdogTimeout(0);
std::cerr << "Epoll timers\n";
jitterTest();
senf::scheduler::loresTimers();
senf::scheduler::watchdogTimeout(1000);
+ BOOST_CHECK( true );
}
///////////////////////////////cc.e////////////////////////////////////////