zephyr/tests/kernel/workq/work_queue
Peter Bigot fbb7eb81b8 tests: kernel: work_queue: avoid improper access to internal structures
Nothing in the API description the delayed work structure sanctions
direct reference to internal fields.  Do not assume that a delayed
work item can be initialized in any way other than by invoking the
delayed work item init function.  Do not assume that a delayed work
item can be submitted without delay by invoking k_work_submit() with a
reference to the contained work item.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-11-24 13:04:48 +02:00
..
src tests: kernel: work_queue: avoid improper access to internal structures 2020-11-24 13:04:48 +02:00
CMakeLists.txt tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
prj.conf timer: remove QEMU_TICKLESS_WORKAROUND 2020-05-14 13:52:07 +02:00
README.txt
testcase.yaml tests: Remove filtering on KERNEL_COHERENCE 2020-11-11 10:59:52 -05:00

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