mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-04 19:45:31 +00:00
(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> |
||
---|---|---|
.. | ||
src | ||
CMakeLists.txt | ||
prj.conf | ||
README.txt | ||
testcase.yaml |
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