zephyr/tests/legacy/kernel/test_timer/microkernel
Allan Stephens dd07b4779f kernel: Eliminate use of KERNEL_V2 configuration option
The unified kernel is now the only supported kernel, so this
option is unnessary. Eliminating this option also enables
the removal of some legacy code that is no longer required.

Change-Id: Ibfc339d643c8de16a2ed2009c9b468848b8b4972
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-11-12 12:04:39 +00:00
..
src kernel: Eliminate use of KERNEL_V2 configuration option 2016-11-12 12:04:39 +00:00
Makefile samples: tests: remove obsolete KERNEL_TYPE and kernel variables 2016-11-04 15:47:25 -04:00
prj.conf tests: move kernel tests to tests/legacy 2016-11-01 13:42:17 -04:00
prj.mdef tests: move kernel tests to tests/legacy 2016-11-01 13:42:17 -04:00
README.txt tests: move kernel tests to tests/legacy 2016-11-01 13:42:17 -04:00
testcase.ini samples: tests: remove obsolete KERNEL_TYPE and kernel variables 2016-11-04 15:47:25 -04:00

Title: Low Resolution Timer

Description:

This test verifies the following low resolution microkernel timer APIs operate
as expected:
  task_timer_alloc (), task_timer_free()
  task_timer_start(), task_timer_restart(), task_timer_stop()
  sys_tick_delta(), sys_tick_get_32()

Also verifies the nanokernel timeouts can work alongside the microkernel timers.

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

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 timer tests
===================================================================
Test the allocation of timers.
Test the one shot feature of a timer.
test nano_task_fifo_get with timeout > 0
nano_task_fifo_get timed out as expected
nano_task_fifo_get got fifo in time, as expected
testing timeouts of 5 fibers on same fifo
 got fiber (q order: 2, t/o: 10, fifo 00109134) as expected
 got fiber (q order: 3, t/o: 15, fifo 00109134) as expected
 got fiber (q order: 0, t/o: 20, fifo 00109134) as expected
 got fiber (q order: 4, t/o: 25, fifo 00109134) as expected
 got fiber (q order: 1, t/o: 30, fifo 00109134) as expected
testing timeouts of 9 fibers on different fifos
 got fiber (q order: 0, t/o: 10, fifo 00109140) as expected
 got fiber (q order: 5, t/o: 15, fifo 00109134) as expected
 got fiber (q order: 7, t/o: 20, fifo 00109134) as expected
 got fiber (q order: 1, t/o: 25, fifo 00109134) as expected
 got fiber (q order: 8, t/o: 30, fifo 00109140) as expected
 got fiber (q order: 2, t/o: 35, fifo 00109134) as expected
 got fiber (q order: 6, t/o: 40, fifo 00109134) as expected
 got fiber (q order: 4, t/o: 45, fifo 00109140) as expected
 got fiber (q order: 3, t/o: 50, fifo 00109140) as expected
testing 5 fibers timing out, but obtaining the data in time
(except the last one, which times out)
 got fiber (q order: 0, t/o: 20, fifo 00109134) as expected
 got fiber (q order: 1, t/o: 30, fifo 00109134) as expected
 got fiber (q order: 2, t/o: 10, fifo 00109134) as expected
 got fiber (q order: 3, t/o: 15, fifo 00109134) as expected
 got fiber (q order: 4, t/o: 25, fifo 00109134) as expected
===================================================================
PASS - test_fifo_timeout.
Test that a timer does not start.
Test the periodic feature of a timer
Test the stopping of a timer
Verifying the nanokernel timeouts worked
===================================================================
PROJECT EXECUTION SUCCESSFUL