MCPcopy Index your code
hub / github.com/RT-Thread/rt-thread / test_static_timer

Function test_static_timer

src/utest/timer_tc.c:93–161  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

91}
92
93static 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 */

Callers

nothing calls this directly

Calls 5

rt_timer_initFunction · 0.85
rt_tick_getFunction · 0.85
rt_timer_startFunction · 0.85
rt_thread_delayFunction · 0.85
rt_timer_detachFunction · 0.85

Tested by

no test coverage detected