zephyr/tests/kernel/test_context/src
Anas Nashif 13b3727e6e tests: move kernel tests to tests/
Move all kernel testcases to tests/ and change Makefiles
accordingly where applicable.

Change-Id: I130cc3919174e93b7130d55fb101bed1d5d7552d
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-11 18:06:33 +00:00
..
context.c tests: move kernel tests to tests/ 2016-02-11 18:06:33 +00:00
Makefile tests: move kernel tests to tests/ 2016-02-11 18:06:33 +00:00
README tests: move kernel tests to tests/ 2016-02-11 18:06:33 +00:00

APIs tested in this test set
============================

fiber_fiber_start
  - start a helper fiber to help with fiber_yield() tests

task_fiber_start
  - start a fiber to test fiber related functionality

fiber_yield
  - Called by a higher priority fiber when there is another fiber
  - Called by an equal priority fiber when there is another fiber
  - Called by a lower priority fiber when there is another fiber

sys_thread_self_get
  - Called from an ISR (interrupted a task)
  - Called from an ISR (interrupted a fiber)
  - Called from a task
  - Called from a fiber

sys_execution_context_type_get
  - Called from an ISR that interrupted a task
  - Called from an ISR that interrupted a fiber
  - Called from a task
  - Called from a fiber

nano_cpu_idle
  - CPU to be woken up by tick timer.  Thus, after each call, the tick count
    should have advanced by one tick.

irq_lock
  - 1. Count the number of calls to sys_tick_get_32() before a tick expires.
  - 2. Once determined, call sys_tick_get_32() many more times than that
       with interrupts locked.  Check that the tick count remains unchanged.

irq_unlock
  - Continuation irq_lock: unlock interrupts, loop and verify the tick
    count changes.

irq_offload
  - Used when triggering an ISR to perform ISR context work.

nanoCpuExcConnect
  - Used during nanokernel object initialization.  Verified by triggering a
    divide-by-zero exception.  The handler skips us over the offending
    instruction.

irq_enable
irq_disable
  - Use these routines to disable and enable timer interrupts so that they can
    be tested in the same way as irq_lock() and irq_unlock().