zephyr/samples/nanokernel/test/test_stack
Javier B Perez Hernandez f7fffae8aa Change BSD-3 licenses to Apache 2
Change all the Intel and Wind River code license from BSD-3 to Apache 2.

Change-Id: Id8be2c1c161a06ea8a0b9f38e17660e11dbb384b
Signed-off-by: Javier B Perez Hernandez <javier.b.perez.hernandez@linux.intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
2016-02-05 20:24:29 -05:00
..
src Change BSD-3 licenses to Apache 2 2016-02-05 20:24:29 -05:00
Makefile Renames supported platform configurations 2016-02-05 20:14:39 -05:00
README.txt Update Title in sample project README.txt files 2016-02-05 20:15:21 -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 CONFIG_DRV_RANDOM is obsolete 2016-02-05 20:15:35 -05:00
testcase.ini sanitychecks: HACK: skip some failing tests on ARC 2016-02-05 20:15:43 -05:00

README.txt

Title: Stack APIs

Description:

This test verifies that the nanokernel stack APIs operate as expected.

---------------------------------------------------------------------------

Building and Running Project:

This nanokernel 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 Nanokernel STACK
Test Task STACK Push

TASK STACK Put Order:  100, 200, 300, 400,
===================================================================
Test Fiber STACK Pop

FIBER STACK Pop: count = 0, data is 400
FIBER STACK Pop: count = 1, data is 300
FIBER STACK Pop: count = 2, data is 200
FIBER STACK Pop: count = 3, data is 100
PASS - fiber1.
===================================================================
Test Fiber STACK Push

FIBER STACK Put Order:  400, 300, 200, 100,
===================================================================
Test Task STACK Pop
TASK STACK Pop: count = 0, data is 100
TASK STACK Pop: count = 1, data is 200
TASK STACK Pop: count = 2, data is 300
TASK STACK Pop: count = 3, data is 400
===================================================================
Test STACK Pop Wait Interfaces

TASK  STACK Push to queue2: 100
Test Fiber STACK Pop Wait Interfaces

FIBER STACK Pop from queue2: 100
FIBER STACK Push to queue1: 200
TASK STACK Pop from queue1: 200
TASK STACK Push to queue2: 300
FIBER STACK Pop from queue2: 300
FIBER STACK Push to queue1: 400
PASS - testFiberStackPopW.
===================================================================
Test ISR STACK (invoked from Fiber)

ISR STACK (running in fiber context) Pop from queue1: 400
ISR STACK (running in fiber context) Push to queue1:
  150,   250,   350,   450,
PASS - testIsrStackFromFiber.
PASS - fiber2.
PASS - testTaskStackPopW.
===================================================================
Test ISR STACK (invoked from Task)

  Pop from queue1: count = 0, data is 450
  Pop from queue1: count = 1, data is 350
  Pop from queue1: count = 2, data is 250
  Pop from queue1: count = 3, data is 150

Test ISR STACK (invoked from Task) - push 450 and pop back 450
PASS - testIsrStackFromTask.
===================================================================
PASS - main.
===================================================================
PROJECT EXECUTION SUCCESSFUL