| 91 | } |
| 92 | |
| 93 | static void test_static_timer(void) |
| 94 | { |
| 95 | rt_err_t result; |
| 96 | |
| 97 | timer.callbacks = 0; |
| 98 | timer.is_static = RT_TRUE; |
| 99 | |
| 100 | /* one shot timer test */ |
| 101 | for (int time_out = 1; time_out < 10; time_out++) |
| 102 | { |
| 103 | for (int i = 0; i < sizeof(timer_flag_oneshot); i++) |
| 104 | { |
| 105 | rt_timer_init(&timer.static_timer, |
| 106 | "static_timer", |
| 107 | timer_oneshot, |
| 108 | &timer, |
| 109 | time_out, |
| 110 | timer_flag_oneshot[i]); |
| 111 | |
| 112 | /* calc expect tick */ |
| 113 | timer.expect_tick = rt_tick_get() + time_out; |
| 114 | |
| 115 | /* start timer */ |
| 116 | result = rt_timer_start(&timer.static_timer); |
| 117 | uassert_true(result == RT_EOK); |
| 118 | |
| 119 | /* wait for timerout */ |
| 120 | rt_thread_delay(3 * time_out + 1); |
| 121 | |
| 122 | uassert_true(timer.callbacks == 1); |
| 123 | |
| 124 | /* detach timer */ |
| 125 | result = rt_timer_detach(&timer.static_timer); |
| 126 | uassert_true(result == RT_EOK); |
| 127 | timer.callbacks = 0; |
| 128 | } |
| 129 | } |
| 130 | |
| 131 | /* periodic timer test */ |
| 132 | for (int time_out = 1; time_out < 10; time_out++) |
| 133 | { |
| 134 | for (int i = 0; i < sizeof(timer_flag_periodic); i++) |
| 135 | { |
| 136 | rt_timer_init(&timer.static_timer, |
| 137 | "static_timer", |
| 138 | timer_periodic, |
| 139 | &timer, |
| 140 | time_out, |
| 141 | timer_flag_periodic[i]); |
| 142 | |
| 143 | /* calc expect tick */ |
| 144 | timer.expect_tick = rt_tick_get() + time_out; |
| 145 | |
| 146 | /* start timer */ |
| 147 | result = rt_timer_start(&timer.static_timer); |
| 148 | uassert_true(result == RT_EOK); |
| 149 | |
| 150 | /* wait for timerout */ |
nothing calls this directly
no test coverage detected