zephyr/tests/kernel/pending
Andy Ross fc3ca95ba7 tests: Mass SMP disablement on non-SMP-safe tests
(Chunk 2 of 3 - this patch was split across pull requests to address
CI build time limitations)

Zephyr has always been a uniprocessor system, and its kernel tests are
rife with assumptions and outright dependence on single-CPU operation
(for example: "low priority threads will never run until this high
priority thread blocks" -- not true if there's another processor to
run it!)

About 1/3 of our tests fail right now on x86_64 when dual processor
operation is made default.  Most of those can probably be recovered on
a case-by-case basis with simple changes (and a few of them might
represent real bugs in SMP!), but for now let's make sure the full
test suite passes by turning the second CPU off.  There's still plenty
of SMP coverage in the remaining cases.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2019-02-28 12:47:12 -08:00
..
src
CMakeLists.txt
README.txt
prj.conf
testcase.yaml

README.txt

Title: Preemptible Threads Pending on kernel Objects

Description:

This test verifies that preemptible threads can pend on the following
kernel objects: FIFOs, LIFOs, semaphores and timers.

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

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:

***** BOOTING ZEPHYR OS vxxxx - BUILD: xxxxx *****
tc_start() - Test Preemptible Threads Pending on Kernel Objects
Testing preemptible threads block on fifos ...
Testing fifos time-out in correct order ...
Testing  fifos delivered data correctly ...
Testing preemptible threads block on lifos ...
Testing lifos time-out in correct order ...
Testing lifos delivered data correctly ...
Testing preemptible thread waiting on timer ...
===================================================================
PASS - task_monitor.
===================================================================
PROJECT EXECUTION SUCCESSFUL