88 lines
3.2 KiB
Plaintext
88 lines
3.2 KiB
Plaintext
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
|