zephyr/samples/microkernel/test/test_fifo
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 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_fifo

Description:

This test verifies that the microkernel FIFO 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:

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