MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / test_dynamic_timer_start_twice

Function test_dynamic_timer_start_twice

src/utest/timer_tc.c:514–558  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

512}
513
514static void test_dynamic_timer_start_twice(void)
515{
516 rt_err_t result;
517
518 timer.callbacks = 0;
519 timer.is_static = RT_FALSE;
520
521 /* timer start twice test */
522 for (int time_out = 2; time_out < 10; time_out++)
523 {
524 for (int i = 0; i < sizeof(timer_flag_oneshot); i++)
525 {
526 timer.dynamic_timer = rt_timer_create("dynamic_timer",
527 timer_oneshot,
528 &timer,
529 time_out,
530 timer_flag_oneshot[i]);
531 /* calc expect tick */
532 timer.expect_tick = rt_tick_get() + time_out;
533
534 /* start timer */
535 result = rt_timer_start(timer.dynamic_timer);
536 uassert_true(result == RT_EOK);
537
538 rt_thread_delay(1);
539
540 /* calc expect tick */
541 timer.expect_tick = rt_tick_get() + time_out;
542
543 /* start timer */
544 result = rt_timer_start(timer.dynamic_timer);
545 uassert_true(result == RT_EOK);
546
547 /* wait for timerout */
548 rt_thread_delay(3 * time_out + 1);
549
550 uassert_true(timer.callbacks == 1);
551
552 /* detach timer */
553 result = rt_timer_delete(timer.dynamic_timer);
554 uassert_true(result == RT_EOK);
555 timer.callbacks = 0;
556 }
557 }
558}
559
560static void test_dynamic_timer_op_in_callback(void)
561{

Callers

nothing calls this directly

Calls 5

rt_timer_createFunction · 0.85
rt_tick_getFunction · 0.85
rt_timer_startFunction · 0.85
rt_thread_delayFunction · 0.85
rt_timer_deleteFunction · 0.85

Tested by

no test coverage detected