Zephyr API Documentation 4.1.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
Workqueue

Workqueue Tests . More...

Functions

void test_offload_workqueue (void)
 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.
 
void test_resubmit (void)
 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.
 
void test_delayed_cancel (void)
 Test work queue delayed cancel.
 
void test_delayed (void)
 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.
 
void test_triggered (void)
 Test triggered work items.
 
void test_already_triggered (void)
 Test already triggered work items.
 
void test_triggered_resubmit (void)
 Test resubmission of triggered work queue item.
 
void test_triggered_no_wait (void)
 Test triggered work items with K_NO_WAIT timeout.
 
void test_triggered_no_wait_expired (void)
 Test expired triggered work items with K_NO_WAIT timeout.
 
void test_triggered_wait (void)
 Test triggered work items with arbitrary timeout.
 
void test_triggered_wait_expired (void)
 Test expired triggered work items with arbitrary timeout.
 
void test_triggered_from_msgq (void)
 Test triggered work item, triggered by a msgq message.
 
void test_delayed_work_define (void)
 Test delayed work queue define macro.
 
void test_triggered_cancel (void)
 Verify k_work_poll_cancel()
 

Detailed Description

Workqueue Tests .

Function Documentation

◆ delayed_test_items_init()

static void delayed_test_items_init ( void )
static

◆ delayed_test_items_submit()

static void delayed_test_items_submit ( void )
static

◆ test_already_triggered()

void test_already_triggered ( void )

◆ test_delayed()

◆ test_delayed_cancel()

void test_delayed_cancel ( void )

#include </home/runner/work/safety-doc/zephyr/tests/kernel/workq/work_queue/src/main.c>

Test work queue delayed cancel.

See also
k_work_delayable_init(), k_work_schedule(), k_work_cancel_delayable()

◆ test_delayed_init()

static void test_delayed_init ( void )
static

◆ test_delayed_submit()

static void test_delayed_submit ( void )
static

◆ test_delayed_work_define()

void test_delayed_work_define ( void )

◆ test_k_work_user_submit_to_queue_fail()

static void test_k_work_user_submit_to_queue_fail ( void )
static

#include </home/runner/work/safety-doc/zephyr/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.

See also
k_work_user_submit_to_queue()

◆ test_offload_workqueue()

void test_offload_workqueue ( void )

#include </home/runner/work/safety-doc/zephyr/tests/kernel/workq/critical/src/main.c>

Verify thread context.

Check whether variable value per-thread is saved during context switch

◆ test_resubmit()

void test_resubmit ( void )

◆ test_sequence()

static void test_sequence ( void )
static

◆ test_triggered()

void test_triggered ( void )

◆ test_triggered_cancel()

void test_triggered_cancel ( void )

#include </home/runner/work/safety-doc/zephyr/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.

See also
k_work_poll_cancel()

◆ test_triggered_from_msgq()

void test_triggered_from_msgq ( void )

#include </home/runner/work/safety-doc/zephyr/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.

See also
k_work_poll_init(), k_work_poll_submit()

◆ test_triggered_init()

static void test_triggered_init ( void )
static

◆ test_triggered_no_wait()

void test_triggered_no_wait ( void )

◆ test_triggered_no_wait_expired()

void test_triggered_no_wait_expired ( void )

#include </home/runner/work/safety-doc/zephyr/tests/kernel/workq/work_queue/src/main.c>

Test expired triggered work items with K_NO_WAIT timeout.

See also
k_work_poll_init(), k_work_poll_submit()

◆ test_triggered_resubmit()

void test_triggered_resubmit ( void )

◆ test_triggered_submit()

static void test_triggered_submit ( k_timeout_t timeout)
static

◆ test_triggered_trigger()

static void test_triggered_trigger ( void )
static

#include </home/runner/work/safety-doc/zephyr/tests/kernel/workq/work_queue/src/main.c>

Trigger triggered workqueue execution.

◆ test_triggered_wait()

void test_triggered_wait ( void )

◆ test_triggered_wait_expired()

void test_triggered_wait_expired ( void )

#include </home/runner/work/safety-doc/zephyr/tests/kernel/workq/work_queue/src/main.c>

Test expired triggered work items with arbitrary timeout.

See also
k_work_poll_init(), k_work_poll_submit()

◆ test_user_work_submit_to_queue_thread()

static void test_user_work_submit_to_queue_thread ( void )
static

◆ test_user_workq_granted_access()

static void test_user_workq_granted_access ( void )
static

#include </home/runner/work/safety-doc/zephyr/tests/kernel/workq/user_work/src/main.c>

Test user mode grant workqueue permissions.

See also
k_work_q_object_access_grant()

◆ test_user_workq_granted_access_setup()

static void test_user_workq_granted_access_setup ( void )
static

◆ test_work_user_queue_start_before_submit()

static void test_work_user_queue_start_before_submit ( void )
static

#include </home/runner/work/safety-doc/zephyr/tests/kernel/workq/user_work/src/main.c>

Test user mode work queue start before submit.

See also
k_work_user_queue_start()