Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
Workqueue Tests. More...
Functions | |
ZTEST (kernel_offload_wq, test_offload_workqueue) | |
Verify thread context. | |
static void | test_k_work_user_submit_to_queue_fail (void) |
Test k_work_user_submit_to_queue API. | |
static void | test_work_user_queue_start_before_submit (void) |
Test user mode work queue start before submit. | |
static void | test_user_workq_granted_access_setup (void) |
Setup object permissions before test_user_workq_granted_access() | |
static void | test_user_workq_granted_access (void) |
Test user mode grant workqueue permissions. | |
static void | test_user_work_submit_to_queue_thread (void) |
Test work submission to work queue (user mode) | |
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. | |
ZTEST (workqueue_triggered, test_resubmit) | |
Test work queue item resubmission. | |
static void | test_delayed_init (void) |
Test delayed work queue init. | |
static void | test_delayed_submit (void) |
Test delayed workqueue submit. | |
ZTEST (workqueue_delayed, test_delayed_cancel) | |
Test work queue delayed cancel. | |
ZTEST (workqueue_delayed, test_delayed) | |
Test delayed work items. | |
static void | test_triggered_init (void) |
Test triggered work queue init. | |
static void | test_triggered_submit (k_timeout_t timeout) |
Test triggered workqueue submit. | |
static void | test_triggered_trigger (void) |
Trigger triggered workqueue execution. | |
ZTEST (workqueue_triggered, test_triggered) | |
Test triggered work items. | |
ZTEST (workqueue_triggered, test_already_triggered) | |
Test already triggered work items. | |
ZTEST (workqueue_triggered, test_triggered_resubmit) | |
Test resubmission of triggered work queue item. | |
ZTEST (workqueue_triggered, test_triggered_no_wait) | |
Test triggered work items with K_NO_WAIT timeout. | |
ZTEST (workqueue_triggered, test_triggered_no_wait_expired) | |
Test expired triggered work items with K_NO_WAIT timeout. | |
ZTEST (workqueue_triggered, test_triggered_wait) | |
Test triggered work items with arbitrary timeout. | |
ZTEST (workqueue_triggered, test_triggered_wait_expired) | |
Test expired triggered work items with arbitrary timeout. | |
ZTEST (workqueue_triggered, test_triggered_from_msgq) | |
Test triggered work item, triggered by a msgq message. | |
ZTEST (workqueue_triggered, test_delayed_work_define) | |
Test delayed work queue define macro. | |
ZTEST (workqueue_triggered, test_triggered_cancel) | |
Verify k_work_poll_cancel() | |
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 delayed work queue init.
|
static |
#include <tests/kernel/workq/work_queue/src/main.c>
Test delayed workqueue submit.
|
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.
|
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 queue init.
|
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/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.
ZTEST | ( | kernel_offload_wq | , |
test_offload_workqueue | |||
) |
#include <tests/kernel/workq/critical/src/main.c>
Verify thread context.
Check whether variable value per-thread is saved during context switch
ZTEST | ( | workqueue_delayed | , |
test_delayed | |||
) |
#include <tests/kernel/workq/work_queue/src/main.c>
Test delayed work items.
ZTEST | ( | workqueue_delayed | , |
test_delayed_cancel | |||
) |
#include <tests/kernel/workq/work_queue/src/main.c>
Test work queue delayed cancel.
ZTEST | ( | workqueue_triggered | , |
test_already_triggered | |||
) |
#include <tests/kernel/workq/work_queue/src/main.c>
Test already triggered work items.
ZTEST | ( | workqueue_triggered | , |
test_delayed_work_define | |||
) |
#include <tests/kernel/workq/work_queue/src/main.c>
Test delayed work queue define macro.
ZTEST | ( | workqueue_triggered | , |
test_resubmit | |||
) |
#include <tests/kernel/workq/work_queue/src/main.c>
Test work queue item resubmission.
ZTEST | ( | workqueue_triggered | , |
test_triggered | |||
) |
#include <tests/kernel/workq/work_queue/src/main.c>
Test triggered work items.
ZTEST | ( | workqueue_triggered | , |
test_triggered_cancel | |||
) |
#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.
ZTEST | ( | workqueue_triggered | , |
test_triggered_from_msgq | |||
) |
#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.
ZTEST | ( | workqueue_triggered | , |
test_triggered_no_wait | |||
) |
#include <tests/kernel/workq/work_queue/src/main.c>
Test triggered work items with K_NO_WAIT timeout.
ZTEST | ( | workqueue_triggered | , |
test_triggered_no_wait_expired | |||
) |
#include <tests/kernel/workq/work_queue/src/main.c>
Test expired triggered work items with K_NO_WAIT timeout.
ZTEST | ( | workqueue_triggered | , |
test_triggered_resubmit | |||
) |
#include <tests/kernel/workq/work_queue/src/main.c>
Test resubmission of triggered work queue item.
ZTEST | ( | workqueue_triggered | , |
test_triggered_wait | |||
) |
#include <tests/kernel/workq/work_queue/src/main.c>
Test triggered work items with arbitrary timeout.
ZTEST | ( | workqueue_triggered | , |
test_triggered_wait_expired | |||
) |
#include <tests/kernel/workq/work_queue/src/main.c>
Test expired triggered work items with arbitrary timeout.