zephyr/tests/benchmarks/sys_kernel
Reto Schneider 7eabab2f5d samples, tests: Use semi-accurate project names
When using an IDE (e.g. Eclipse, Qt Creator), the project name gets
displayed. This greatly simplifies the navigation between projects when
having many of them open at the same time. Naming every project "NONE"
defeats this functionality.

This patch tries to use sensible project names while not duplicating
too much of what is already represented in the path. This is done by
using the name of the directory the relevant CMakeLists.txt file is
stored in. To ensure unique project names in the samples (and again, in
the tests folder) folder, small manual adjustments have been done.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
2018-10-27 21:31:25 -04:00
..
src sys_clock: Fix unsafe tick count usage 2018-10-16 15:03:10 -04:00
CMakeLists.txt samples, tests: Use semi-accurate project names 2018-10-27 21:31:25 -04:00
README.txt
prj.conf benchmarks: sys_kernel: Disable userspace for benchmarks 2018-05-31 08:48:07 -04:00
testcase.yaml

README.txt

Title: kernel Object Performance

Description:

The SysKernel test measures the performance of semaphore,
lifo, fifo and stack objects.

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

Building and Running Project:

This project outputs to the console. It can be built and executed
on QEMU as follows:

    make run

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

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:

MODULE: kernel API test
KERNEL VERSION: 0x1066300

Each test below is repeated 5000 times;
average time for one iteration is displayed.

TEST CASE: Semaphore #1
TEST COVERAGE:
        k_sem_init
        k_sem_take(K_FOREVER)
        k_sem_give
Starting test. Please wait...
TEST RESULT: SUCCESSFUL
DETAILS: Average time for 1 iteration: NNNN nSec
END TEST CASE

TEST CASE: Semaphore #2
TEST COVERAGE:
        k_sem_init
        k_sem_take(TICKS_NONE)
        k_yield
        k_sem_give
Starting test. Please wait...
TEST RESULT: SUCCESSFUL
DETAILS: Average time for 1 iteration: NNNN nSec
END TEST CASE

TEST CASE: Semaphore #3
TEST COVERAGE:
        k_sem_init
        k_sem_take(K_FOREVER)
        k_sem_give
        k_sem_give
        k_sem_take(K_FOREVER)
Starting test. Please wait...
TEST RESULT: SUCCESSFUL
DETAILS: Average time for 1 iteration: NNNN nSec
END TEST CASE

TEST CASE: LIFO #1
TEST COVERAGE:
        k_lifo_init
        k_lifo_get(K_FOREVER)
        k_lifo_put
Starting test. Please wait...
TEST RESULT: SUCCESSFUL
DETAILS: Average time for 1 iteration: NNNN nSec
END TEST CASE

TEST CASE: LIFO #2
TEST COVERAGE:
        k_lifo_init
        k_lifo_get(K_FOREVER)
        k_lifo_get(TICKS_NONE)
        k_lifo_put
        k_yield
Starting test. Please wait...
TEST RESULT: SUCCESSFUL
DETAILS: Average time for 1 iteration: NNNN nSec
END TEST CASE

TEST CASE: LIFO #3
TEST COVERAGE:
        k_lifo_init
        k_lifo_get(K_FOREVER)
        k_lifo_put
        k_lifo_get(K_FOREVER)
        k_lifo_put
Starting test. Please wait...
TEST RESULT: SUCCESSFUL
DETAILS: Average time for 1 iteration: NNNN nSec
END TEST CASE

TEST CASE: FIFO #1
TEST COVERAGE:
        k_fifo_init
        k_fifo_get(K_FOREVER)
        k_fifo_put
Starting test. Please wait...
TEST RESULT: SUCCESSFUL
DETAILS: Average time for 1 iteration: NNNN nSec
END TEST CASE

TEST CASE: FIFO #2
TEST COVERAGE:
        k_fifo_init
        k_fifo_get(K_FOREVER)
        k_fifo_get(TICKS_NONE)
        k_fifo_put
        k_yield
Starting test. Please wait...
TEST RESULT: SUCCESSFUL
DETAILS: Average time for 1 iteration: NNNN nSec
END TEST CASE

TEST CASE: FIFO #3
TEST COVERAGE:
        k_fifo_init
        k_fifo_get(K_FOREVER)
        k_fifo_put
        k_fifo_get(K_FOREVER)
        k_fifo_put
Starting test. Please wait...
TEST RESULT: SUCCESSFUL
DETAILS: Average time for 1 iteration: NNNN nSec
END TEST CASE

TEST CASE: Stack #1
TEST COVERAGE:
        k_stack_init
        k_stack_pop(K_FOREVER)
        k_stack_push
Starting test. Please wait...
TEST RESULT: SUCCESSFUL
DETAILS: Average time for 1 iteration: NNNN nSec
END TEST CASE

TEST CASE: Stack #2
TEST COVERAGE:
        k_stack_init
        k_stack_pop(K_FOREVER)
        k_stack_pop
        k_stack_push
        k_yield
Starting test. Please wait...
TEST RESULT: SUCCESSFUL
DETAILS: Average time for 1 iteration: NNNN nSec
END TEST CASE

TEST CASE: Stack #3
TEST COVERAGE:
        k_stack_init
        k_stack_pop(K_FOREVER)
        k_stack_push
        k_stack_pop(K_FOREVER)
        k_stack_push
Starting test. Please wait...
TEST RESULT: SUCCESSFUL
DETAILS: Average time for 1 iteration: NNNN nSec
END TEST CASE

PROJECT EXECUTION SUCCESSFUL
QEMU: Terminated