Zephyr Project API
3.1.0
A Scalable Open Source RTOS
|
Workqueue Tests. More...
Functions | |
void | test_offload_workqueue (void) |
Verify thread context. More... | |
static void | test_k_work_user_submit_to_queue_fail (void) |
Test k_work_user_submit_to_queue API. More... | |
static void | test_work_user_queue_start_before_submit (void) |
Test user mode work queue start before submit. More... | |
static void | test_user_workq_granted_access_setup (void) |
Setup object permissions before test_user_workq_granted_access() More... | |
static void | test_user_workq_granted_access (void) |
Test user mode grant workqueue permissions. More... | |
static void | test_user_work_submit_to_queue_thread (void) |
Test work submission to work queue (user mode) More... | |
static void | delayed_test_items_init (void) |
static void | delayed_test_items_submit (void) |
static void | test_sequence (void) |
Test work queue items submission sequence. More... | |
static void | test_resubmit (void) |
Test work queue item resubmission. More... | |
static void | test_delayed_init (void) |
Test delayed work queue init. More... | |
static void | test_delayed_submit (void) |
Test delayed workqueue submit. More... | |
static void | test_delayed_cancel (void) |
Test work queue delayed cancel. More... | |
static void | test_delayed (void) |
Test delayed work items. More... | |
static void | test_triggered_init (void) |
Test triggered work queue init. More... | |
static void | test_triggered_submit (k_timeout_t timeout) |
Test triggered workqueue submit. More... | |
static void | test_triggered_trigger (void) |
Trigger triggered workqueue execution. More... | |
static void | test_triggered (void) |
Test triggered work items. More... | |
static void | test_already_triggered (void) |
Test already triggered work items. More... | |
static void | test_triggered_resubmit (void) |
Test resubmission of triggered work queue item. More... | |
static void | test_triggered_no_wait (void) |
Test triggered work items with K_NO_WAIT timeout. More... | |
static void | test_triggered_no_wait_expired (void) |
Test expired triggered work items with K_NO_WAIT timeout. More... | |
static void | test_triggered_wait (void) |
Test triggered work items with arbitrary timeout. More... | |
static void | test_triggered_wait_expired (void) |
Test expired triggered work items with arbitrary timeout. More... | |
static void | test_triggered_from_msgq (void) |
Test triggered work item, triggered by a msgq message. More... | |
void | test_delayed_work_define (void) |
Test delayed work queue define macro. More... | |
static void | test_triggered_cancel (void) |
Verify k_work_poll_cancel() More... | |
Workqueue Tests.
|
static |
#include <tests/kernel/workq/work_queue/src/main.c>
|
static |
#include <tests/kernel/workq/work_queue/src/main.c>
|
static |
#include <tests/kernel/workq/work_queue/src/main.c>
Test already triggered work items.
|
static |
#include <tests/kernel/workq/work_queue/src/main.c>
Test delayed work items.
|
static |
#include <tests/kernel/workq/work_queue/src/main.c>
Test work queue delayed cancel.
|
static |
#include <tests/kernel/workq/work_queue/src/main.c>
Test delayed work queue init.
|
static |
#include <tests/kernel/workq/work_queue/src/main.c>
Test delayed workqueue submit.
void test_delayed_work_define | ( | void | ) |
#include <tests/kernel/workq/work_queue/src/main.c>
Test delayed work queue define macro.
|
static |
#include <tests/kernel/workq/user_work/src/main.c>
Test k_work_user_submit_to_queue API.
Function k_work_user_submit_to_queue() will return -EBUSY: if the work item was already in some workqueue and -ENOMEM: if no memory for thread resource pool allocation. Create two situation to meet the error return value.
void test_offload_workqueue | ( | void | ) |
#include <tests/kernel/workq/critical/src/main.c>
Verify thread context.
Check whether variable value per-thread is saved during context switch
|
static |
#include <tests/kernel/workq/work_queue/src/main.c>
Test work queue item resubmission.
|
static |
#include <tests/kernel/workq/work_queue/src/main.c>
Test work queue items submission sequence.
|
static |
#include <tests/kernel/workq/work_queue/src/main.c>
Test triggered work items.
|
static |
#include <tests/kernel/workq/work_queue/src/main.c>
Verify k_work_poll_cancel()
Cancel a triggered work item repeatedly, see if it returns expected value.
|
static |
#include <tests/kernel/workq/work_queue/src/main.c>
Test triggered work item, triggered by a msgq message.
Regression test for issue #45267:
When an object availability event triggers a k_work_poll item, the object lock should not be held anymore during the execution of the work callback.
Tested with msgq with K_POLL_TYPE_MSGQ_DATA_AVAILABLE.
|
static |
#include <tests/kernel/workq/work_queue/src/main.c>
Test triggered work queue init.
|
static |
#include <tests/kernel/workq/work_queue/src/main.c>
Test triggered work items with K_NO_WAIT timeout.
|
static |
#include <tests/kernel/workq/work_queue/src/main.c>
Test expired triggered work items with K_NO_WAIT timeout.
|
static |
#include <tests/kernel/workq/work_queue/src/main.c>
Test resubmission of triggered work queue item.
|
static |
#include <tests/kernel/workq/work_queue/src/main.c>
Test triggered workqueue submit.
|
static |
#include <tests/kernel/workq/work_queue/src/main.c>
Trigger triggered workqueue execution.
|
static |
#include <tests/kernel/workq/work_queue/src/main.c>
Test triggered work items with arbitrary timeout.
|
static |
#include <tests/kernel/workq/work_queue/src/main.c>
Test expired triggered work items with arbitrary timeout.
|
static |
#include <tests/kernel/workq/user_work/src/main.c>
Test work submission to work queue (user mode)
|
static |
#include <tests/kernel/workq/user_work/src/main.c>
Test user mode grant workqueue permissions.
|
static |
#include <tests/kernel/workq/user_work/src/main.c>
Setup object permissions before test_user_workq_granted_access()
|
static |
#include <tests/kernel/workq/user_work/src/main.c>
Test user mode work queue start before submit.