test uc_thread_queue_clear
This commit is contained in:
@@ -313,6 +313,35 @@ START_TEST (test_thread_queue_tryadd_no_timeout_0_100)
|
|||||||
|
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
|
void clear_cb(struct uc_threadmsg *msg, void *cookie)
|
||||||
|
{
|
||||||
|
int *i = cookie;
|
||||||
|
(void)msg;
|
||||||
|
++*i;
|
||||||
|
}
|
||||||
|
|
||||||
|
START_TEST (test_thread_queue_clear)
|
||||||
|
|
||||||
|
struct uc_threadqueue queue;
|
||||||
|
int i;
|
||||||
|
struct thr_msg msg[3];
|
||||||
|
memset(msg, 0, sizeof msg);
|
||||||
|
int cnt = 0;
|
||||||
|
|
||||||
|
fail_if(uc_thread_queue_init(&queue, 3) != 0);
|
||||||
|
for (i = 0; i < 3; i++) {
|
||||||
|
fail_if(uc_thread_queue_add(&queue, &msg[i].msg) != 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
fail_if(uc_thread_queue_length(&queue) != 3);
|
||||||
|
fail_if(uc_thread_queue_clear(&queue, clear_cb, &cnt));
|
||||||
|
ck_assert_int_eq(cnt , 3);
|
||||||
|
fail_if(uc_thread_queue_length(&queue) != 0);
|
||||||
|
|
||||||
|
fail_if(uc_thread_queue_destroy(&queue, NULL, NULL) != 0);
|
||||||
|
|
||||||
|
END_TEST
|
||||||
|
|
||||||
|
|
||||||
Suite *threadqueue_suite(void)
|
Suite *threadqueue_suite(void)
|
||||||
{
|
{
|
||||||
@@ -331,6 +360,7 @@ Suite *threadqueue_suite(void)
|
|||||||
tcase_add_test(tc1, test_thread_queue_tryadd_timeout_0_0);
|
tcase_add_test(tc1, test_thread_queue_tryadd_timeout_0_0);
|
||||||
tcase_add_test(tc1, test_thread_queue_tryadd_timeout_0_100);
|
tcase_add_test(tc1, test_thread_queue_tryadd_timeout_0_100);
|
||||||
tcase_add_test(tc1, test_thread_queue_tryadd_no_timeout_0_100);
|
tcase_add_test(tc1, test_thread_queue_tryadd_no_timeout_0_100);
|
||||||
|
tcase_add_test(tc1, test_thread_queue_clear);
|
||||||
|
|
||||||
//lets start with this:
|
//lets start with this:
|
||||||
tcase_set_timeout(tc1, 15);
|
tcase_set_timeout(tc1, 15);
|
||||||
|
|||||||
Reference in New Issue
Block a user