Zephyr Project API 3.7.0-rc1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
Poll tests

Test cases to verify poll. More...

Functions

 ZTEST_USER (poll_api_1cpu, test_poll_no_wait)
 Test poll events with no wait.
 
 ZTEST (poll_api_1cpu, test_poll_wait)
 Test polling with wait.
 
void test_poll_cancel (bool is_main_low_prio)
 Test polling of cancelled fifo.
 
 ZTEST (poll_api, test_poll_multi)
 Test polling of multiple events.
 
 ZTEST (poll_api_1cpu, test_poll_threadstate)
 Test polling of events by manipulating polling thread state.
 
 ZTEST_USER (poll_api, test_k_poll_user_num_err)
 Test API k_poll with error number events in user mode.
 
 ZTEST_USER (poll_api, test_k_poll_user_mem_err)
 Test API k_poll with error member of events in user mode.
 
 ZTEST_USER (poll_api, test_k_poll_user_type_sem_err)
 Test API k_poll with NULL sem event in user mode.
 
 ZTEST_USER (poll_api, test_k_poll_user_type_signal_err)
 Test API k_poll with NULL signal event in user mode.
 
 ZTEST_USER (poll_api, test_k_poll_user_type_fifo_err)
 Test API k_poll with NULL fifo event in user mode.
 
 ZTEST_USER (poll_api, test_k_poll_user_type_msgq_err)
 Test API k_poll with NULL message queue event in user mode.
 
 ZTEST_USER (poll_api, test_poll_signal_init_null)
 Test API k_poll_signal_init with NULL in user mode.
 
 ZTEST_USER (poll_api, test_poll_signal_check_obj)
 Test API k_poll_signal_check with NULL object in user mode.
 
 ZTEST_USER (poll_api, test_poll_signal_check_signal)
 Test API k_poll_signal_check with unread address in user mode.
 
 ZTEST_USER (poll_api, test_poll_signal_check_result)
 Test API k_poll_signal_check with unread address in user mode.
 
 ZTEST_USER (poll_api, test_poll_signal_raise_null)
 Test API k_poll_signal_raise with unread address in user mode.
 
 ZTEST_USER (poll_api, test_poll_signal_reset_null)
 Test API k_poll_signal_reset with unread address in user mode.
 

Detailed Description

Test cases to verify poll.

Function Documentation

◆ test_poll_cancel()

void test_poll_cancel ( bool  is_main_low_prio)

#include <tests/kernel/poll/src/test_poll.c>

Test polling of cancelled fifo.

Test the FIFO(queue) data available/cancelable events as events in poll.

See also
k_poll(), k_fifo_cancel_wait(), k_fifo_alloc_put

◆ ZTEST() [1/3]

ZTEST ( poll_api  ,
test_poll_multi   
)

#include <tests/kernel/poll/src/test_poll.c>

Test polling of multiple events.

  • Test the multiple semaphore events as waitable events in poll.
See also
K_POLL_EVENT_INITIALIZER(), k_poll(), k_poll_event_init()

◆ ZTEST() [2/3]

ZTEST ( poll_api_1cpu  ,
test_poll_threadstate   
)

#include <tests/kernel/poll/src/test_poll.c>

Test polling of events by manipulating polling thread state.

  • manipulating thread state to consider case where no polling thread is available during event signalling.
  • defined a signal poll as waitable events in poll and verify the result after signal raised
See also
K_POLL_EVENT_INITIALIZER(), k_poll(), k_poll_signal_init(), k_poll_signal_check(), k_poll_signal_raise()

◆ ZTEST() [3/3]

ZTEST ( poll_api_1cpu  ,
test_poll_wait   
)

#include <tests/kernel/poll/src/test_poll.c>

Test polling with wait.

Test Objective:

  • Test the poll operation which enables waiting concurrently for one/two/all conditions to be fulfilled.
  • set a single timeout argument indicating the maximum amount of time a thread shall wait.

Testing techniques:

  • function and block box testing.
  • Interface testing.
  • Dynamic analysis and testing.

Prerequisite Conditions:

  • CONFIG_TEST_USERSPACE
  • CONFIG_DYNAMIC_OBJECTS
  • CONFIG_POLL

Input Specifications:

  • N/A

Test Procedure:

  1. Use FIFO/semaphore/signal/message queue object to define poll event.
  2. Initialize the FIFO/semaphore/signal/message queue object.
  3. Create a thread to put FIFO, give semaphore, raise signal, and put message queue.
  4. Check the result when signal is raised, semaphore is given, fifo is filled, and message is received.
  5. Check the result when no event is satisfied.
  6. Check the result when only semaphore is given.
  7. Check the result when only FIFO is filled.
  8. Check the result when only signal is raised.
  9. Check the result when only message is received.

Expected Test Result:

  • FIFO/semaphore/signal/message queue events available/waitable in poll.

Pass/Fail Criteria:

  • Successful if check points in test procedure are all passed, otherwise failure.

Assumptions and Constraints:

  • N/A
See also
k_poll_signal_init(), k_poll()

◆ ZTEST_USER() [1/13]

ZTEST_USER ( poll_api  ,
test_k_poll_user_mem_err   
)

#include <tests/kernel/poll/src/test_poll_fail.c>

Test API k_poll with error member of events in user mode.

Using API k_poll with error member as parameter to check if a error will be met.

See also
k_poll()

◆ ZTEST_USER() [2/13]

ZTEST_USER ( poll_api  ,
test_k_poll_user_num_err   
)

#include <tests/kernel/poll/src/test_poll_fail.c>

Test API k_poll with error number events in user mode.

Using API k_poll with error number as parameter to check if a error will be met.

See also
k_poll()

◆ ZTEST_USER() [3/13]

ZTEST_USER ( poll_api  ,
test_k_poll_user_type_fifo_err   
)

#include <tests/kernel/poll/src/test_poll_fail.c>

Test API k_poll with NULL fifo event in user mode.

Define a poll, and using API k_poll with NULL fifo as parameter to check if a error will be met.

See also
k_poll()

◆ ZTEST_USER() [4/13]

ZTEST_USER ( poll_api  ,
test_k_poll_user_type_msgq_err   
)

#include <tests/kernel/poll/src/test_poll_fail.c>

Test API k_poll with NULL message queue event in user mode.

Define a poll, and using API k_poll with NULL message queue as parameter to check if a error will be met.

See also
k_poll()

◆ ZTEST_USER() [5/13]

ZTEST_USER ( poll_api  ,
test_k_poll_user_type_sem_err   
)

#include <tests/kernel/poll/src/test_poll_fail.c>

Test API k_poll with NULL sem event in user mode.

Define a poll event, and using API k_poll with NULL sem as parameter to check if a error will be met.

See also
k_poll()

◆ ZTEST_USER() [6/13]

ZTEST_USER ( poll_api  ,
test_k_poll_user_type_signal_err   
)

#include <tests/kernel/poll/src/test_poll_fail.c>

Test API k_poll with NULL signal event in user mode.

Define a poll, and using API k_poll with NULL signal as parameter to check if a error will be met.

See also
k_poll()

◆ ZTEST_USER() [7/13]

ZTEST_USER ( poll_api  ,
test_poll_signal_check_obj   
)

#include <tests/kernel/poll/src/test_poll_fail.c>

Test API k_poll_signal_check with NULL object in user mode.

Using API k_poll with NULL object as parameter to check if a error will be met.

See also
k_poll_signal_check()

◆ ZTEST_USER() [8/13]

ZTEST_USER ( poll_api  ,
test_poll_signal_check_result   
)

#include <tests/kernel/poll/src/test_poll_fail.c>

Test API k_poll_signal_check with unread address in user mode.

Using k_poll_signal_check with unread signaled as parameter to check if a error will be met.

See also
k_poll_signal_check()

◆ ZTEST_USER() [9/13]

ZTEST_USER ( poll_api  ,
test_poll_signal_check_signal   
)

#include <tests/kernel/poll/src/test_poll_fail.c>

Test API k_poll_signal_check with unread address in user mode.

Using k_poll_signal_check with unread results as parameter to check if a error will be met.

See also
k_poll_signal_check()

◆ ZTEST_USER() [10/13]

ZTEST_USER ( poll_api  ,
test_poll_signal_init_null   
)

#include <tests/kernel/poll/src/test_poll_fail.c>

Test API k_poll_signal_init with NULL in user mode.

Using API k_poll_signal_init with NULL as parameter to check if a error will be met.

See also
k_poll_signal_init()

◆ ZTEST_USER() [11/13]

ZTEST_USER ( poll_api  ,
test_poll_signal_raise_null   
)

#include <tests/kernel/poll/src/test_poll_fail.c>

Test API k_poll_signal_raise with unread address in user mode.

Using k_poll_signal_raise with NULL as parameter to check if a error will be met.

See also
k_poll_signal_raise()

◆ ZTEST_USER() [12/13]

ZTEST_USER ( poll_api  ,
test_poll_signal_reset_null   
)

#include <tests/kernel/poll/src/test_poll_fail.c>

Test API k_poll_signal_reset with unread address in user mode.

Using k_poll_signal_reset with NULL as parameter to check if a error will be met.

See also
k_poll_signal_reset()

◆ ZTEST_USER() [13/13]

ZTEST_USER ( poll_api_1cpu  ,
test_poll_no_wait   
)