From 1f4e41df3acb9f78e200ee724456d24015975893 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nils=20O=2E=20Sel=C3=A5sdal?= Date: Sat, 5 Oct 2013 00:56:41 +0200 Subject: [PATCH] Test inserting priority messages --- test/test_threadqueue.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/test/test_threadqueue.c b/test/test_threadqueue.c index 0bac993..2cd7d6d 100644 --- a/test/test_threadqueue.c +++ b/test/test_threadqueue.c @@ -54,6 +54,32 @@ START_TEST (test_thread_queue_one_thread) END_TEST +START_TEST (test_thread_queue_priority_msg) + + struct uc_threadqueue queue; + int i; + + struct uc_threadmsg msg[3]; + memset(&msg, 0, sizeof msg); + + fail_if(uc_thread_queue_init(&queue, 3) != 0); + + + for (i = 0; i < 3; i++) { + msg[i].msgtype = -1; //negative == add at head + fail_if(uc_thread_queue_add(&queue, &msg[i]) != 0); + } + + for (i = 2; i >= 0; i--) { + struct uc_threadmsg *my_msg; + fail_if(uc_thread_queue_get(&queue, &my_msg) != 0); + + fail_if(my_msg != &msg[i]); + } + + fail_if(uc_thread_queue_destroy(&queue, NULL, NULL) != 0); + +END_TEST @@ -350,6 +376,7 @@ Suite *threadqueue_suite(void) tcase_add_test(tc1, test_thread_queue_length); tcase_add_test(tc1, test_thread_queue_one_thread); + tcase_add_test(tc1, test_thread_queue_priority_msg); tcase_add_test(tc1, test_thread_queue_walk); tcase_add_test(tc1, test_thread_queue_reader_writer); tcase_add_test(tc1, test_thread_queue_reader_writer_len_1);