blob: 670353760772693403a4a45e6a89564ec5886187 [file] [log] [blame]
Title: Private FIFOs
Description:
This test verifies that the microkernel FIFO APIs operate as expected.
This also verifies the mechanism to define private FIFO and its usage.
--------------------------------------------------------------------------------
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:
tc_start() - Test Microkernel FIFO
myData[0] = 1,
myData[1] = 101,
myData[2] = 201,
myData[3] = 301,
myData[4] = 401,
===================================================================
PASS - fillFIFO.
verifyQueueData: i=0, successfully get data 1
verifyQueueData: i=1, successfully get data 101
verifyQueueData: i=2, FIFOQ is empty. No data.
===================================================================
PASS - verifyQueueData.
===================================================================
PASS - fillFIFO.
RegressionTask: About to putWT with data 401
RegressionTask: FIFO Put time out as expected for data 401
verifyQueueData: i=0, successfully get data 1
verifyQueueData: i=1, successfully get data 101
===================================================================
PASS - verifyQueueData.
===================================================================
PASS - fillFIFO.
RegressionTask: 2 element in queue
RegressionTask: Successfully purged queue
RegressionTask: confirm 0 element in queue
===================================================================
RegressionTask: About to GetW data
Starts MicroTestFifoTask
MicroTestFifoTask: Puts element 999
RegressionTask: GetW get back 999
MicroTestFifoTask: FIRegressionTask: GetWT timeout expected
===================================================================
PASS - fillFIFO.
RegressionTask: about to putW data 999
FOPut OK for 999
MicroTestFifoTask: About to purge queue
RegressionTask: PutW ok when queue is purged while waiting
===================================================================
PASS - fillFIFO.
RegressionTask: about to putW data 401
MicroTestFifoTask: Successfully purged queue
MicroTestFifoTask: About to dequeue 1 element
RegressionTask: PutW success for data 401
===================================================================
RegressionTask: Get back data 101
RegressionTask: Get back data 401
RegressionTask: queue is empty. Test Done!
MicroTestFifoTask: task_fifo_get got back correct data 1
===================================================================
PASS - MicroTestFifoTask.
===================================================================
PASS - RegressionTask.
===================================================================
PROJECT EXECUTION SUCCESSFUL