zephyr/tests/kernel/test_critical
Genaro Saucedo Tejada c8d9b6b5e3 tags: basic kernel objects test for actual hardware
Tagged some tests/kernel testcases with 'bat_commit'. Only test that
work on actual hardware are tagged, while tests with known issues
were left not tagged, test meant for emulator or build only were
also not tagged.

Change-Id: Icede6bc76788aba60d8f1fdcf624e95a7d3116a2
Signed-off-by: Genaro Saucedo Tejada <genaro.saucedo.tejada@intel.com>
2016-07-01 00:38:31 +00:00
..
src
Makefile
prj.conf
prj.mdef
README.txt
testcase.ini tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00

Title: Offload to the Kernel Service Fiber

Description:

This test verifies that the microkernel task_offload_to_fiber() API operates as
expected.

This test has two tasks that increment a counter.  The routine that
increments the counter is invoked from _k_server() due to the two tasks
calling task_offload_to_fiber().  The final result of the counter is expected
to be the the number of times task_offload_to_fiber() was called to increment
the counter as the incrementing was done in the context of _k_server().

This is done with time slicing both disabled and enabled to ensure that the
result always matches the number of times task_offload_to_fiber() is called.

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

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 Critical Section API

Obtained expected <criticalVar> value of 10209055
Enabling time slicing ...
Obtained expected <criticalVar> value of 15123296
===================================================================
PASS - RegressionTask.
===================================================================
PROJECT EXECUTION SUCCESSFUL