zephyr/tests/kernel/obj_tracing
Sebastian Bøe 55ee53ce91 cmake: Prepend 'cmake_minimum_required()' into 'app' build scripts
Prepend the text 'cmake_minimum_required(VERSION 3.8.2)' into the
application and test build scripts.

Modern versions of CMake will spam users with a deprecation warning
when the toplevel CMakeLists.txt does not specify a CMake
version. This is documented in bug #8355.

To resolve this we include a cmake_minimum_required() line into the
toplevel build scripts. Additionally, cmake_minimum_required is
invoked from within boilerplate.cmake. The highest version will be
enforced.

This patch allows us to afterwards change CMake policy CMP000 from OLD
to NEW which in turn finally rids us of the verbose warning.

The extra boilerplate is considered more acceptable than the verbosity
of the CMP0000 policy.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-08-15 04:06:50 -07:00
..
src tests: obj_tracing: Enhance object tracing test 2018-08-13 06:39:01 -07:00
CMakeLists.txt cmake: Prepend 'cmake_minimum_required()' into 'app' build scripts 2018-08-15 04:06:50 -07:00
prj.conf tests: obj_tracing: disable BT for this test 2018-01-15 18:31:47 -05:00
README.txt tests: obj_tracing: Convert legacy test to ztest 2018-01-05 07:21:32 -05:00
testcase.yaml tests: kernel: stop relying on path for naming 2018-02-18 09:16:40 -05:00

Test Description
----------------

The object tracing test is a sanity test to verify that the
object tracing API remains healthy.

It uses the philsophers as an application that implements
multiple threads that are synchronized with semaphores.

The application initializes their objects and starts the philosophers'
thread interaction. A specific thread, called object monitor, accesses
the object tracing API and reports the number of expected objects.

The sanity test script expects each test to finish its execution
and then it considers the test completed. For that reason the
philosophers' threads execute a finite number of iterations. After
that the application execution ends.

Sample Output
--------------
***** BOOTING ZEPHYR OS vxxxx - BUILD: yyyyy *****
Running test suite test_obj_tracing
===================================================================
starting test - test_tracing
SEMAPHORE REF: 0x004002d0
SEMAPHORE REF: 0x004002bc
SEMAPHORE REF: 0x004002a8
SEMAPHORE REF: 0x00400294
SEMAPHORE REF: 0x00400280
SEMAPHORE REF: 0x0042402c
SEMAPHORE REF: 0x00424250
SEMAPHORE QUANTITY: 6
COOP: 0x00400040 OPTIONS: 0x00, STATE: 0x00
COOP: 0x00400200 OPTIONS: 0x00, STATE: 0x02
COOP: 0x004001a8 OPTIONS: 0x00, STATE: 0x02
COOP: 0x00400150 OPTIONS: 0x00, STATE: 0x00
COOP: 0x004000f8 OPTIONS: 0x00, STATE: 0x02
COOP: 0x004000a0 OPTIONS: 0x00, STATE: 0x00
PREMPT: 0x00401254 OPTIONS: 0x00, STATE: 0x02
COOP: 0x00401020 OPTIONS: 0x01, STATE: 0x00
COOP: 0x00401080 OPTIONS: 0x01, STATE: 0x00
THREAD QUANTITY: 9
PASS - test_tracing.
===================================================================
===================================================================
PROJECT EXECUTION SUCCESSFUL