2015-08-15 02:13:25 +08:00
|
|
|
Title: Mailbox APIs
|
2015-04-11 07:44:37 +08:00
|
|
|
|
|
|
|
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:
|
|
|
|
|
2015-06-06 09:48:58 +08:00
|
|
|
make qemu
|
2015-04-11 07:44:37 +08:00
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
2015-06-01 22:30:09 +08:00
|
|
|
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
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
2015-04-11 07:44:37 +08:00
|
|
|
Sample Output:
|
|
|
|
|
|
|
|
Starting mailbox tests
|
|
|
|
===================================================================
|
2015-12-03 22:56:31 +08:00
|
|
|
MsgSenderTask: task_mbox_put(TICKS_NONE) to non-waiting task is OK
|
2015-04-11 07:44:37 +08:00
|
|
|
MsgRcvrTask: task_mbox_get when no message is OK
|
2015-12-03 22:56:31 +08:00
|
|
|
MsgSenderTask: task_mbox_put(timeout) to non-waiting task is OK
|
2015-12-04 00:38:31 +08:00
|
|
|
MsgRcvrTask: task_mbox_get(timeout) when no message is OK
|
|
|
|
MsgRcvrTask: task_mbox_get(TICKS_UNLIMITED) from specified task is OK
|
2015-12-03 22:56:31 +08:00
|
|
|
MsgSenderTask: task_mbox_put(TICKS_NONE) to specified waiting task is OK
|
2015-04-11 07:44:37 +08:00
|
|
|
MsgRcvrTask: task_mbox_get from anonymous task is OK
|
2015-12-03 22:56:31 +08:00
|
|
|
MsgSenderTask: task_mbox_put(timeout) to anonymous non-waiting task is OK
|
|
|
|
MsgSenderTask: task_mbox_put(TICKS_UNLIMITED) of empty message is OK
|
2015-12-04 00:38:31 +08:00
|
|
|
MsgRcvrTask: task_mbox_get(TICKS_UNLIMITED) of empty message is OK
|
|
|
|
MsgRcvrTask: task_mbox_get(TICKS_UNLIMITED) of message header #3 is OK
|
2015-04-11 07:44:37 +08:00
|
|
|
MsgRcvrTask: task_mbox_data_get of message data #3 is OK
|
2015-12-03 22:56:31 +08:00
|
|
|
MsgSenderTask: task_mbox_put(timeout) for 2 part receive test is OK
|
2015-12-04 00:38:31 +08:00
|
|
|
MsgRcvrTask: task_mbox_get(timeout) of message header #4 is OK
|
2015-04-11 07:44:37 +08:00
|
|
|
MsgRcvrTask: task_mbox_data_get cancellation of message #4 is OK
|
2015-12-03 22:56:31 +08:00
|
|
|
MsgSenderTask: task_mbox_put(TICKS_UNLIMITED) for cancelled receive test is OK
|
2015-12-04 00:38:31 +08:00
|
|
|
MsgRcvrTask: task_mbox_get(TICKS_UNLIMITED) of message header #1 is OK
|
2015-08-11 05:37:25 +08:00
|
|
|
MsgRcvrTask: task_mbox_data_block_get of message data #1 is OK
|
2015-12-03 22:56:31 +08:00
|
|
|
MsgSenderTask: task_mbox_put(TICKS_UNLIMITED) for block-based receive test is OK
|
2015-12-04 00:38:31 +08:00
|
|
|
MsgRcvrTask: task_mbox_get(TICKS_UNLIMITED) of message header #2 is OK
|
2015-08-11 05:37:25 +08:00
|
|
|
MsgRcvrTask: task_mbox_data_block_get of message data #2 is OK
|
2015-12-03 22:56:31 +08:00
|
|
|
MsgSenderTask: task_mbox_put(TICKS_UNLIMITED) for block-exhaustion receive test is OK
|
2015-12-04 00:38:31 +08:00
|
|
|
MsgRcvrTask: task_mbox_get(TICKS_UNLIMITED) of message header #3 is OK
|
2015-04-11 07:44:37 +08:00
|
|
|
MsgRcvrTask: task_mbox_data_get of message data #3 is OK
|
2015-12-03 22:56:31 +08:00
|
|
|
MsgSenderTask: task_mbox_put(timeout) for long-duration receive test is OK
|
2015-04-11 07:44:37 +08:00
|
|
|
===================================================================
|
2015-06-05 20:24:47 +08:00
|
|
|
PROJECT EXECUTION SUCCESSFUL
|