Add mbuf enqueue/dequeue functions

This commit is contained in:
Nils O. Selåsdal
2015-05-05 00:06:28 +02:00
parent e922e60849
commit 5e2b1e2d0d
3 changed files with 71 additions and 2 deletions
+40 -1
View File
@@ -297,11 +297,49 @@ START_TEST (test_mbuf_extend_tailroom_wrong_type)
END_TEST
START_TEST (test_mbuf_queue)
struct MBuf *m1;
struct MBuf *m2;
struct MBuf *q;
uint8_t *data1;
UC_TAILQ_HEAD(head);
m1 = uc_mbuf_new_inline(10);
fail_if(m1 == NULL);
data1 = uc_mbuf_put(m1, 10);
fail_if(data1 == NULL);
strcpy((char*)data1, "123456789");
m2 = uc_mbuf_new_inline(10);
fail_if(m2 == NULL);
data1 = uc_mbuf_put(m2, 10);
fail_if(data1 == NULL);
strcpy((char*)data1, "987654321");
uc_mbuf_enqueue(m1, &head);
uc_mbuf_enqueue(m2, &head);
q = uc_mbuf_dequeue(&head);
fail_if(strcmp((char*)uc_mbuf_head(q), "123456789") != 0);
q = uc_mbuf_dequeue(&head);
fail_if(strcmp((char*)uc_mbuf_head(q), "987654321") != 0);
fail_if(!uc_tailq_empty(&head));
uc_mbuf_free(m1);
uc_mbuf_free(m2);
END_TEST
Suite *mbuf_suite(void)
{
Suite *s = suite_create("mbuf");
TCase *tc = tcase_create("mbuf tests");
TCase *tc = tcase_create("mbuf tests");
tcase_add_test(tc, test_mbuf_new);
tcase_add_test(tc, test_mbuf_new_inline);
tcase_add_test(tc, test_mbuf_new_headroom);
@@ -316,6 +354,7 @@ Suite *mbuf_suite(void)
tcase_add_test(tc, test_mbuf_static);
tcase_add_test(tc, test_mbuf_extend_tailroom);
tcase_add_test(tc, test_mbuf_extend_tailroom_wrong_type);
tcase_add_test(tc, test_mbuf_queue);
suite_add_tcase(s, tc);