zephyr/samples/microkernel/test/test_fifo_priv
Daniel Leung 5d934a3786 samples/microkernel: add test for private FIFOs
This adds unit test for microkernel private FIFOs.
The code piggybacks to the public FIFOs tests (by
including the same source file), so any updates to
the test will be applied to both.

Note that the prj.mdef are different for both tests, since
the private FIFOs test move some of the FIFOs
inside source code.

Change-Id: I4130ac540b10a31cd30f37890e9cc389af73e89b
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2016-02-05 20:15:18 -05:00
..
src samples/microkernel: add test for private FIFOs 2016-02-05 20:15:18 -05:00
Makefile samples/microkernel: add test for private FIFOs 2016-02-05 20:15:18 -05:00
prj_arm.conf samples/microkernel: add test for private FIFOs 2016-02-05 20:15:18 -05:00
prj_x86.conf samples/microkernel: add test for private FIFOs 2016-02-05 20:15:18 -05:00
prj.mdef samples/microkernel: add test for private FIFOs 2016-02-05 20:15:18 -05:00
README.txt samples/microkernel: add test for private FIFOs 2016-02-05 20:15:18 -05:00
testcase.ini samples/microkernel: add test for private FIFOs 2016-02-05 20:15:18 -05:00

Title: test_fifo_priv

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