zephyr/samples/microkernel/test/test_sema
Peter Mitsis 54b782a88b nano_sema: Simplify nano_xxx_sem_take() API family
Changes the nanokernel semaphore API so that the timeout parameter must be
specified when invoking nano_isr_sem_take(), nano_fiber_sem_take(),
nano_task_sem_take() and nano_sem_take().

This obsoletes the following APIs:
	nano_fiber_sem_take_wait()
	nano_fiber_sem_take_wait_timeout()
	nano_task_sem_take_wait()
	nano_task_sem_take_wait_timeout()
	nano_sem_take_wait()
	nano_sem_take_wait_timeout()

Change-Id: If7a4bce1bd8ec8d6410d04f3c16ff1922ff0910e
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:25:14 -05:00
..
src nano_sema: Simplify nano_xxx_sem_take() API family 2016-02-05 20:25:14 -05:00
Makefile Use BOARD instead of PLATFORM_CONFIG 2016-02-05 20:25:11 -05:00
prj_arm.conf irq_offload: API to run a function in IRQ context 2016-02-05 20:24:55 -05:00
prj_x86.conf irq_offload: API to run a function in IRQ context 2016-02-05 20:24:55 -05:00
prj.mdef test_sema: fix initialization race 2016-02-05 20:24:26 -05:00
README.txt Update Title in sample project README.txt files 2016-02-05 20:15:21 -05:00
testcase.ini initial commit for next-gen sanity checks 2016-02-05 20:14:42 -05:00

Title: Semaphore APIs

Description:

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

Starting semaphore tests
===================================================================
Signal and test a semaphore without blocking
Signal and test a semaphore with blocking
Testing many tasks blocked on the same semaphore
Testing semaphore groups without blocking
Testing semaphore groups with blocking
Testing semaphore release by fiber
===================================================================
PROJECT EXECUTION SUCCESSFUL