MCPcopy Create free account
hub / github.com/David-Haim/concurrencpp / test_many_timers

Method test_many_timers

test/source/tests/timer_tests/timer_tests.cpp:279–306  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

277}
278
279void concurrencpp::tests::test_many_timers() {
280 random randomizer;
281 auto timer_queue = std::make_shared<concurrencpp::timer_queue>(milliseconds(60 * 1000));
282 std::list<timer_tester> testers;
283
284 const size_t due_time_min = 100;
285 const size_t due_time_max = 2'000;
286 const size_t frequency_min = 100;
287 const size_t frequency_max = 3'000;
288 const size_t timer_count = 1'024;
289
290 auto round_down = [](size_t num) {
291 return num - num % 50;
292 };
293
294 for (size_t i = 0; i < timer_count; i++) {
295 const auto due_time = round_down(randomizer(due_time_min, due_time_max));
296 const auto frequency = round_down(randomizer(frequency_min, frequency_max));
297
298 testers.emplace_front(milliseconds(due_time), milliseconds(frequency), timer_queue).start_timer_test();
299 }
300
301 std::this_thread::sleep_for(5min);
302
303 for (auto& tester : testers) {
304 tester.test();
305 }
306}
307
308void concurrencpp::tests::test_timer_constructor() {
309 test_one_timer();

Callers

nothing calls this directly

Calls 2

start_timer_testMethod · 0.80
testMethod · 0.80

Tested by

no test coverage detected