zephyr/tests/kernel/workq/work_queue
Andy Ross 03164a7802 tests/kernel/workq/work_queue: Fix for fast/non-standard tick rates
This test was written to properly align its millisecond-measured wait
time and assumed that there would be no other overhead.  In fact on
fast tick rate systems (or even ones where the alignment computation
doesn't provide the needed padding as "slop") that's not quite enough
time to complete the full test.  There are cycles between the sleep
calls that need to be accounted for, and aren't.

Just give it one extra work item of time before failing.  We aren't
testing work queue timing precision here, just evaluation semantics.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2019-07-02 22:52:29 -04:00
..
src tests/kernel/workq/work_queue: Fix for fast/non-standard tick rates 2019-07-02 22:52:29 -04:00
CMakeLists.txt license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
README.txt cleanup: remove nanokernel/nano leftovers 2017-12-05 09:44:23 -06:00
prj.conf tests: Mass SMP disablement on non-SMP-safe tests 2019-02-27 14:22:06 -08:00
testcase.yaml tests: remove bat_commit, replace core with kernel 2018-10-16 09:17:51 -04:00

README.txt

Title: Test workqeue APIs

Description:

A simple application verifying the workqueue API

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

Building and Running Project:

This kernel 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

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


***** BOOTING ZEPHYR OS vxxxx - BUILD: xxxxx *****
Starting sequence test
 - Initializing test items
 - Submitting test items
 - Submitting work 1 from preempt thread
 - Running test item 1
 - Submitting work 2 from coop thread
 - Submitting work 3 from preempt thread
 - Submitting work 4 from coop thread
 - Running test item 2
 - Submitting work 5 from preempt thread
 - Submitting work 6 from coop thread
 - Waiting for work to finish
 - Running test item 3
 - Running test item 4
 - Running test item 5
 - Running test item 6
 - Checking results
Starting resubmit test
 - Submitting work
 - Waiting for work to finish
 - Resubmitting work
 - Resubmitting work
 - Resubmitting work
 - Resubmitting work
 - Resubmitting work
 - Checking results
Starting delayed test
 - Initializing delayed test items
 - Submitting delayed test items
 - Submitting delayed work 1 from preempt thread
 - Submitting delayed work 3 from preempt thread
 - Submitting delayed work 5 from preempt thread
 - Waiting for delayed work to finish
 - Submitting delayed work 2 from coop thread
 - Submitting delayed work 4 from coop thread
 - Submitting delayed work 6 from coop thread
 - Running delayed test item 1
 - Running delayed test item 2
 - Running delayed test item 3
 - Running delayed test item 4
 - Running delayed test item 5
 - Running delayed test item 6
 - Checking results
Starting delayed resubmit test
 - Submitting delayed work
 - Waiting for work to finish
 - Resubmitting delayed work
 - Resubmitting delayed work
 - Resubmitting delayed work
 - Resubmitting delayed work
 - Resubmitting delayed work
 - Checking results
Starting delayed resubmit from coop thread test
 - Resubmitting delayed work with 1 ms
 - Resubmitting delayed work with 1 ms
 - Resubmitting delayed work with 1 ms
 - Resubmitting delayed work with 1 ms
 - Resubmitting delayed work with 1 ms
 - Resubmitting delayed work with 1 ms
 - Waiting for work to finish
 - Running delayed test item 1
 - Checking results
Starting delayed cancel test
 - Cancel delayed work from preempt thread
 - Cancel delayed work from coop thread
 - Cancel pending delayed work from coop thread
 - Waiting for work to finish
 - Checking results
===================================================================
PASS - main.
===================================================================
PROJECT EXECUTION SUCCESSFUL