Exercise adding/removing timers a bit more
This commit is contained in:
+16
-22
@@ -164,37 +164,31 @@ START_TEST (test_timers_add_remove)
|
||||
struct UCoreSettableClock clk;
|
||||
struct TimerTest tt;
|
||||
struct UCTimers timers;
|
||||
struct UCTimer timer1;
|
||||
struct UCTimer timer2;
|
||||
struct UCTimer timer3;
|
||||
struct UCTimer timer4;
|
||||
struct UCTimer timer[1023];
|
||||
struct timeval first;
|
||||
size_t i;
|
||||
int toggle = 5;
|
||||
|
||||
common_init(&clk, &tt, &timers, &timer1);
|
||||
memset(&timer2, 0, sizeof timer2);
|
||||
memset(&timer3, 0, sizeof timer2);
|
||||
memset(&timer4, 0, sizeof timer2);
|
||||
common_init(&clk, &tt, &timers, &timer[0]);
|
||||
memset(&timer, 0, sizeof timer);
|
||||
for (i = 0; i < sizeof timer/sizeof timer[0]; i++) {
|
||||
timer[i].callback = timer_test_cb_add;
|
||||
|
||||
timer1.callback = timer_test_cb_add;
|
||||
timer2.callback = timer_test_cb_add;
|
||||
timer3.callback = timer_test_cb_add;
|
||||
timer4.callback = timer_test_cb_add;
|
||||
|
||||
uc_timers_add(&timers, &timer1, 10, 0);
|
||||
uc_timers_add(&timers, &timer2, 5 , 0);
|
||||
uc_timers_add(&timers, &timer3, 15, 1);
|
||||
uc_timers_add(&timers, &timer4, 15, 1);
|
||||
uc_timers_add(&timers, &timer[i], toggle + i , 0);
|
||||
if (i > 5) //just to add timeouts non-ascending order
|
||||
toggle = 5 - toggle;
|
||||
}
|
||||
|
||||
fail_if(uc_timers_first(&timers, &first) != 0);
|
||||
fail_if(first.tv_sec != TEST_TIMER_START + 5);
|
||||
fail_if(first.tv_usec != 0);
|
||||
|
||||
fail_if(uc_timers_count(&timers) != 4);
|
||||
fail_if(uc_timers_count(&timers) != sizeof timer/sizeof timer[0]);
|
||||
|
||||
for (i = 0; i < sizeof timer/sizeof timer[0]; i++) {
|
||||
uc_timers_remove(&timers, &timer[i]);
|
||||
}
|
||||
|
||||
uc_timers_remove(&timers, &timer1);
|
||||
uc_timers_remove(&timers, &timer2);
|
||||
uc_timers_remove(&timers, &timer3);
|
||||
uc_timers_remove(&timers, &timer4);
|
||||
|
||||
fail_if(uc_timers_count(&timers) != 0);
|
||||
fail_if(uc_timers_first(&timers, &first) == 0);
|
||||
|
||||
Reference in New Issue
Block a user