Add another timer test case for more coverage

This commit is contained in:
Nils O. Selåsdal
2013-07-07 19:31:47 +02:00
parent 7706c7404d
commit 53dd99d32b
+42
View File
@@ -160,6 +160,47 @@ START_TEST (test_timers_remove_from_callback)
END_TEST END_TEST
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 timeval first;
common_init(&clk, &tt, &timers, &timer1);
memset(&timer2, 0, sizeof timer2);
memset(&timer3, 0, sizeof timer2);
memset(&timer4, 0, sizeof timer2);
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);
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);
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);
END_TEST
Suite *timers_suite(void) Suite *timers_suite(void)
{ {
@@ -168,6 +209,7 @@ Suite *timers_suite(void)
tcase_add_test(tc, test_timers_simple); tcase_add_test(tc, test_timers_simple);
tcase_add_test(tc, test_timers_add_from_callback); tcase_add_test(tc, test_timers_add_from_callback);
tcase_add_test(tc, test_timers_remove_from_callback); tcase_add_test(tc, test_timers_remove_from_callback);
tcase_add_test(tc, test_timers_add_remove);
suite_add_tcase(s, tc); suite_add_tcase(s, tc);