Skip to content

Commit f403623

Browse files
committed
Add test for empty, full functions in queue and mail
1 parent ba70453 commit f403623

File tree

2 files changed

+78
-1
lines changed

2 files changed

+78
-1
lines changed

TESTS/mbedmicro-rtos-mbed/mail/main.cpp

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -454,6 +454,43 @@ void test_calloc()
454454
TEST_ASSERT_EQUAL(0, *mail);
455455
}
456456

457+
/** Test mail empty
458+
459+
Given a mail of uint32_t data
460+
before data is inserted the mail should be empty
461+
after data is inserted the mail shouldn't be empty
462+
*/
463+
void test_mail_empty()
464+
{
465+
Mail<mail_t, 1> m;
466+
467+
mail_t *mail = m->alloc();
468+
469+
TEST_ASSERT_EQUAL(true, m.empty());
470+
471+
m.put(mail);
472+
473+
TEST_ASSERT_EQUAL(false, m.empty()));
474+
}
475+
476+
/** Test mail empty
477+
478+
Given a mail of uint32_t data with size of 1
479+
before data is inserted the mail shouldn't be full
480+
after data is inserted the mail should be full
481+
*/
482+
void test_mail_full()
483+
{
484+
Mail<mail_t, 1> m;
485+
486+
mail_t *mail = m->alloc();
487+
488+
TEST_ASSERT_EQUAL(false, m.full());
489+
490+
m.put(mail);
491+
492+
TEST_ASSERT_EQUAL(true, m.full()));
493+
}
457494

458495
utest::v1::status_t test_setup(const size_t number_of_cases)
459496
{

TESTS/mbedmicro-rtos-mbed/queue/main.cpp

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,44 @@ void test_msg_prio()
278278
TEST_ASSERT_EQUAL(TEST_UINT_MSG, evt.value.v);
279279
}
280280

281+
/** Test queue empty
282+
283+
Given a queue of uint32_t data
284+
before data is inserted the queue should be empty
285+
after data is inserted the queue shouldn't be empty
286+
*/
287+
void test_queue_empty()
288+
{
289+
Queue<uint32_t, 1> q;
290+
291+
TEST_ASSERT_EQUAL(true, q.empty());
292+
293+
stat = q.put((uint32_t*) TEST_UINT_MSG, TEST_TIMEOUT, 1);
294+
295+
TEST_ASSERT_EQUAL(osOK, stat);
296+
297+
TEST_ASSERT_EQUAL(false, q.empty()));
298+
}
299+
300+
/** Test queue empty
301+
302+
Given a queue of uint32_t data with size of 1
303+
before data is inserted the queue shouldn't be full
304+
after data is inserted the queue should be full
305+
*/
306+
void test_queue_full()
307+
{
308+
Queue<uint32_t, 1> q;
309+
310+
TEST_ASSERT_EQUAL(false, q.full());
311+
312+
stat = q.put((uint32_t*) TEST_UINT_MSG, TEST_TIMEOUT, 1);
313+
314+
TEST_ASSERT_EQUAL(osOK, stat);
315+
316+
TEST_ASSERT_EQUAL(true, q.full()));
317+
}
318+
281319
utest::v1::status_t test_setup(const size_t number_of_cases)
282320
{
283321
GREENTEA_SETUP(5, "default_auto");
@@ -295,7 +333,9 @@ Case cases[] = {
295333
Case("Test put full timeout", test_put_full_timeout),
296334
Case("Test put full wait forever", test_put_full_waitforever),
297335
Case("Test message ordering", test_msg_order),
298-
Case("Test message priority", test_msg_prio)
336+
Case("Test message priority", test_msg_prio),
337+
Case("Test queue empty", test_queue_empty),
338+
Case("Test queue full", test_queue_full)
299339
};
300340

301341
Specification specification(test_setup, cases);

0 commit comments

Comments
 (0)