zephyr/tests/kernel/workq/work_queue/README.txt
Luiz Augusto von Dentz 4c6007756c tests: work_q: Add test for k_delayed_work_cancel
This adds a test that attempts to submit a work with 0 timeout thus
causing it to immediatelly be submitted to the queue so it is pending
execution which is then cancelled with k_delayed_work_cancel.

Note this can only be done with coop threads with the same or higher
priority otherwise the work_q thread is wakeup before
k_delayed_work_cancel takes place, thus why test_delayed_cancel uses
K_HIGHEST_THREAD_PRIO.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2017-08-15 08:49:09 -04:00

105 lines
3.2 KiB
Plaintext

Title: Test nano_work
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