zephyr/samples/microkernel/test/test_mail
Daniel Leung f6369abf4d samples/microkernel: add test for private mailboxes
This adds unit test for microkernel private mailboxes.
The code piggybacks to the public mailbox test (by
including the same source files), so any updates to
the test will be applied to both.

Note that the prj.mdef are different for both tests, since
the private mailboxes test move the mailboxes inside source
code. So, both mdef files will need to be updated at
the same time.

Change-Id: I52ccc5931b1abfd3ae3d654f888d4a019268bba0
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2016-02-05 20:15:18 -05:00
..
src samples/microkernel: add test for private mailboxes 2016-02-05 20:15:18 -05:00
Makefile Renames supported platform configurations 2016-02-05 20:14:39 -05:00
prj_arm.conf samples: remove explicit enabling of SW_ISR_TABLE/DYNAMIC 2016-02-05 20:13:45 -05:00
prj_x86.conf Kbuild: Updates to the microkernel config overlays. 2016-02-05 20:14:07 -05:00
prj.mdef Rename VPF files to use MDEF file extension 2016-02-05 20:14:15 -05:00
README.txt Fixed make target for running in qemu (microkernel) 2016-02-05 20:14:16 -05:00
testcase.ini initial commit for next-gen sanity checks 2016-02-05 20:14:42 -05:00

Title: test_mail

Description:

This test verifies that the microkernel mailbox APIs operate as expected.

--------------------------------------------------------------------------------

Building and Running Project:

This microkernel project outputs to the console.  It can be built and executed
on QEMU as follows:

    make qemu

--------------------------------------------------------------------------------

Troubleshooting:

Problems caused by out-dated project information can be addressed by
issuing one of the following commands then rebuilding the project:

    make clean          # discard results of previous builds
                        # but keep existing configuration info
or
    make pristine       # discard results of previous builds
                        # and restore pre-defined configuration info

--------------------------------------------------------------------------------

Sample Output:

Starting mailbox tests
===================================================================
MsgSenderTask: task_mbox_put to non-waiting task is OK
MsgRcvrTask: task_mbox_get when no message is OK
MsgSenderTask: task_mbox_put_wait_timeout to non-waiting task is OK
MsgRcvrTask: task_mbox_get_wait_timeout when no message is OK
MsgRcvrTask: task_mbox_get_wait from specified task is OK
MsgSenderTask: task_mbox_put to specified waiting task is OK
MsgRcvrTask: task_mbox_get from anonymous task is OK
MsgSenderTask: task_mbox_put_wait_timeout to anonymous non-waiting task is OK
MsgSenderTask: task_mbox_put_wait of empty message is OK
MsgRcvrTask: task_mbox_get_wait of empty message is OK
MsgRcvrTask: task_mbox_get_wait of message header #3 is OK
MsgRcvrTask: task_mbox_data_get of message data #3 is OK
MsgSenderTask: task_mbox_put_wait_timeout for 2 part receive test is OK
MsgRcvrTask: task_mbox_get_wait_timeout of message header #4 is OK
MsgRcvrTask: task_mbox_data_get cancellation of message #4 is OK
MsgSenderTask: task_mbox_put_wait for cancelled receive test is OK
MsgRcvrTask: task_mbox_get_wait of message header #1 is OK
MsgRcvrTask: task_mbox_data_get_async_block of message data #1 is OK
MsgSenderTask: task_mbox_put_wait for block-based receive test is OK
MsgRcvrTask: task_mbox_get_wait of message header #2 is OK
MsgRcvrTask: task_mbox_data_get_async_block of message data #2 is OK
MsgSenderTask: task_mbox_put_wait for block-exhaustion receive test is OK
MsgRcvrTask: task_mbox_get_wait of message header #3 is OK
MsgRcvrTask: task_mbox_data_get of message data #3 is OK
MsgSenderTask: task_mbox_put_wait_timeout for long-duration receive test is OK
===================================================================
PROJECT EXECUTION SUCCESSFUL