MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / mq_recv_case

Function mq_recv_case

src/utest/messagequeue_tc.c:129–161  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

127}
128
129static void mq_recv_case(rt_mq_t testmq)
130{
131 rt_uint32_t recv_buf[MAX_MSGS+1] = {0};
132 rt_ssize_t ret = RT_EOK;
133
134 for (int var = 0; var < MAX_MSGS + 1; ++var)
135 {
136 ret = rt_mq_recv(testmq, &recv_buf[var], sizeof(recv_buf[0]), RT_WAITING_FOREVER);
137 uassert_true(ret >= 0);
138 uassert_true(recv_buf[var] == (var + 1));
139 }
140
141 for (int var = 0; var < 3; ++var)
142 {
143 ret = rt_mq_recv(testmq, &recv_buf[var], sizeof(recv_buf[0]), RT_WAITING_FOREVER);
144 uassert_true(ret >= 0);
145 uassert_true(recv_buf[var] == (var + 1));
146 }
147#ifdef RT_USING_MESSAGEQUEUE_PRIORITY
148 rt_int32_t msg_prio;
149 while (testmq->entry == MAX_MSGS)
150 {
151 rt_thread_delay(100);
152 }
153 for (int var = 0; var < MAX_MSGS; ++var)
154 {
155 ret = rt_mq_recv_prio(testmq, &recv_buf[var], sizeof(recv_buf[0]), &msg_prio, RT_WAITING_FOREVER, RT_UNINTERRUPTIBLE);
156 rt_kprintf("msg_prio = %d\r\n", msg_prio);
157 uassert_true(ret >= 0);
158 uassert_true(recv_buf[var] == (MAX_MSGS - var));
159 }
160#endif
161}
162
163static void mq_recv_entry(void *param)
164{

Callers 1

mq_recv_entryFunction · 0.85

Calls 4

rt_mq_recvFunction · 0.85
rt_thread_delayFunction · 0.85
rt_mq_recv_prioFunction · 0.85
rt_kprintfFunction · 0.85

Tested by

no test coverage detected