zephyr/tests/kernel/test_sema/microkernel/src
Kumar Gala 7dcbbc39e7 build: move from srctree to ZEPHYR_BASE for app include paths
$srctree for the application might not be set to be $ZEPHYR_BASE, use
$ZEPHYR_BASE instead to be more explicit in the build.

Change-Id: Iefa5ff59f246b584949329044f7a6531adc6ed62
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2016-06-30 14:36:39 +00:00
..
main.c tests: move kernel tests to tests/ 2016-02-11 18:06:33 +00:00
Makefile build: move from srctree to ZEPHYR_BASE for app include paths 2016-06-30 14:36:39 +00:00
README tests: move kernel tests to tests/ 2016-02-11 18:06:33 +00:00
sema.c tests: move kernel tests to tests/ 2016-02-11 18:06:33 +00:00
test_fiber.c nanokernel: tests: increase stack size from 256 bytes 2016-06-29 00:08:08 +00:00

The semaphore test suite checks the following ...

1. Signal a semaphore from an ISR 5 times.
2. Check the semaphore status from the task.
3. Take the semaphore 8 times.  First 5 should succeed; next three should fail.
4. Wait for up to XX ticks for the semaphore.  This should timeout.
5. Wait for up to XX ticks for the semaphore.  Have an ISR give the semaphore.
6. Wait for up to XX ticks for the semaphore.  Have a task give the semaphore.
7. Multiple tasks wait for the semaphore.  Highest priority task gets it.
8. Wait on a group of semaphores--timeout.
9. Wait on a group of semaphores
    - Wake on receipt of each semaphore (test done for each sem in group)
        - Semaphore signalled from ISR
        - Semaphore signalled from task
    - Wake on receipt of many semaphores (test done for various combos)
        - Can only be done from a task
    - task_sem_count_get() performed on semaphores in group before and signalling
10. Give semaphore a number of times, then call task_sem_reset()
11. Give many semaphores a number of times, then call task_sem_group_take()
12. Tests signaling semaphore from a fiber:
    - task waits on a semaphore and fiber signals it
    - fiber signals the semaphore N times, task checks that task_sem_count_get is N
    - task waits on a semaphore group and fiber signals each of them once. Task
      checks which of the semaphores has been signaled