Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
main.c File Reference
#include <ztest.h>
#include <irq_offload.h>
#include <ztest_error_hook.h>

Macros

#define STACK_SIZE   (512 + CONFIG_TEST_EXTRA_STACKSIZE)
 
#define PRIO_WAIT   (CONFIG_ZTEST_THREAD_PRIORITY + 2)
 
#define PRIO_WAKE   (CONFIG_ZTEST_THREAD_PRIORITY + 1)
 
#define TOTAL_THREADS_WAITING   (3)
 
#define TCOUNT   10
 
#define COUNT_LIMIT   12
 

Functions

 K_THREAD_STACK_DEFINE (stack_1,(512+CONFIG_TEST_EXTRA_STACKSIZE))
 
 K_THREAD_STACK_DEFINE (condvar_wake_stack,(512+CONFIG_TEST_EXTRA_STACKSIZE))
 
 K_MUTEX_DEFINE (test_mutex)
 
 K_THREAD_STACK_ARRAY_DEFINE (multiple_stack,(3),(512+CONFIG_TEST_EXTRA_STACKSIZE))
 
 K_THREAD_STACK_ARRAY_DEFINE (multiple_wake_stack,(3),(512+CONFIG_TEST_EXTRA_STACKSIZE))
 
void condvar_isr_wake (const void *condvar)
 
void condvar_wake_from_isr (struct k_condvar *condvar)
 
void condvar_wait_task (void *p1, void *p2, void *p3)
 
void condvar_wake_task (void *p1, void *p2, void *p3)
 
void condvar_wake_multiple (void *p1, void *p2, void *p3)
 
void condvar_wait_wake_task (void *p1, void *p2, void *p3)
 
void test_condvar_wait_forever_wake (void)
 Test k_condvar_wait() and k_condvar_wake() More...
 
void test_condvar_wait_timeout_wake (void)
 
void test_condvar_wait_timeout (void)
 
void test_condvar_wait_forever (void)
 Test k_condvar_wait() forever. More...
 
void test_condvar_wait_nowait (void)
 
void test_condvar_wait_nowait_wake (void)
 
void test_condvar_wait_forever_wake_from_isr (void)
 
void test_condvar_multiple_threads_wait_wake (void)
 
void condvar_multiple_wait_wake_task (void *p1, void *p2, void *p3)
 
void condvar_multiple_wake_task (void *p1, void *p2, void *p3)
 
void test_multiple_condvar_wait_wake (void)
 
static void cond_init_null (void *p1, void *p2, void *p3)
 
void test_condvar_init_null (void)
 
static void cond_signal_null (void *p1, void *p2, void *p3)
 
static void cond_broadcast_null (void *p1, void *p2, void *p3)
 
static void cond_wait_null (void *p1, void *p2, void *p3)
 
void test_condvar_signal_null (void)
 
void test_condvar_broadcast_null (void)
 
void test_condvar_wait_null (void)
 
void inc_count (void *p1, void *p2, void *p3)
 
void watch_count (void *p1, void *p2, void *p3)
 
void test_condvar_usecase_signal (void)
 
void test_condvar_usecase_broadcast (void)
 
void test_main (void)
 

Variables

struct k_thread condvar_tid
 
struct k_thread condvar_wake_tid
 
struct k_condvar simple_condvar
 
ZTEST_BMEM int woken
 
ZTEST_BMEM int timeout
 
ZTEST_BMEM int index [(3)]
 
ZTEST_BMEM int count
 
struct k_condvar multiple_condvar [(3)]
 
struct k_thread multiple_tid [(3)]
 
struct k_thread multiple_wake_tid [(3)]
 

Macro Definition Documentation

◆ COUNT_LIMIT

#define COUNT_LIMIT   12

◆ PRIO_WAIT

#define PRIO_WAIT   (CONFIG_ZTEST_THREAD_PRIORITY + 2)

◆ PRIO_WAKE

#define PRIO_WAKE   (CONFIG_ZTEST_THREAD_PRIORITY + 1)

◆ STACK_SIZE

#define STACK_SIZE   (512 + CONFIG_TEST_EXTRA_STACKSIZE)

◆ TCOUNT

#define TCOUNT   10

◆ TOTAL_THREADS_WAITING

#define TOTAL_THREADS_WAITING   (3)

Function Documentation

◆ cond_broadcast_null()

static void cond_broadcast_null ( void p1,
void p2,
void p3 
)
static

◆ cond_init_null()

static void cond_init_null ( void p1,
void p2,
void p3 
)
static

◆ cond_signal_null()

static void cond_signal_null ( void p1,
void p2,
void p3 
)
static

◆ cond_wait_null()

static void cond_wait_null ( void p1,
void p2,
void p3 
)
static

◆ condvar_isr_wake()

void condvar_isr_wake ( const void condvar)

◆ condvar_multiple_wait_wake_task()

void condvar_multiple_wait_wake_task ( void p1,
void p2,
void p3 
)

◆ condvar_multiple_wake_task()

void condvar_multiple_wake_task ( void p1,
void p2,
void p3 
)

◆ condvar_wait_task()

void condvar_wait_task ( void p1,
void p2,
void p3 
)

◆ condvar_wait_wake_task()

void condvar_wait_wake_task ( void p1,
void p2,
void p3 
)

◆ condvar_wake_from_isr()

void condvar_wake_from_isr ( struct k_condvar condvar)

◆ condvar_wake_multiple()

void condvar_wake_multiple ( void p1,
void p2,
void p3 
)

◆ condvar_wake_task()

void condvar_wake_task ( void p1,
void p2,
void p3 
)

◆ inc_count()

void inc_count ( void p1,
void p2,
void p3 
)

◆ K_MUTEX_DEFINE()

K_MUTEX_DEFINE ( test_mutex  )

◆ K_THREAD_STACK_ARRAY_DEFINE() [1/2]

K_THREAD_STACK_ARRAY_DEFINE ( multiple_stack  ,
(3)  ,
(512+CONFIG_TEST_EXTRA_STACKSIZE)   
)

◆ K_THREAD_STACK_ARRAY_DEFINE() [2/2]

K_THREAD_STACK_ARRAY_DEFINE ( multiple_wake_stack  ,
(3)  ,
(512+CONFIG_TEST_EXTRA_STACKSIZE)   
)

◆ K_THREAD_STACK_DEFINE() [1/2]

K_THREAD_STACK_DEFINE ( condvar_wake_stack  ,
(512+CONFIG_TEST_EXTRA_STACKSIZE)   
)

◆ K_THREAD_STACK_DEFINE() [2/2]

K_THREAD_STACK_DEFINE ( stack_1  ,
(512+CONFIG_TEST_EXTRA_STACKSIZE)   
)

◆ test_condvar_broadcast_null()

void test_condvar_broadcast_null ( void  )

◆ test_condvar_init_null()

void test_condvar_init_null ( void  )

◆ test_condvar_multiple_threads_wait_wake()

void test_condvar_multiple_threads_wait_wake ( void  )

◆ test_condvar_signal_null()

void test_condvar_signal_null ( void  )

◆ test_condvar_usecase_broadcast()

void test_condvar_usecase_broadcast ( void  )

◆ test_condvar_usecase_signal()

void test_condvar_usecase_signal ( void  )

◆ test_condvar_wait_forever()

void test_condvar_wait_forever ( void  )

Test k_condvar_wait() forever.

◆ test_condvar_wait_forever_wake()

void test_condvar_wait_forever_wake ( void  )

Test k_condvar_wait() and k_condvar_wake()

◆ test_condvar_wait_forever_wake_from_isr()

void test_condvar_wait_forever_wake_from_isr ( void  )

◆ test_condvar_wait_nowait()

void test_condvar_wait_nowait ( void  )

◆ test_condvar_wait_nowait_wake()

void test_condvar_wait_nowait_wake ( void  )

◆ test_condvar_wait_null()

void test_condvar_wait_null ( void  )

◆ test_condvar_wait_timeout()

void test_condvar_wait_timeout ( void  )

◆ test_condvar_wait_timeout_wake()

void test_condvar_wait_timeout_wake ( void  )

◆ test_main()

void test_main ( void  )

◆ test_multiple_condvar_wait_wake()

void test_multiple_condvar_wait_wake ( void  )

◆ watch_count()

void watch_count ( void p1,
void p2,
void p3 
)

Variable Documentation

◆ condvar_tid

struct k_thread condvar_tid

◆ condvar_wake_tid

struct k_thread condvar_wake_tid

◆ count

ZTEST_BMEM int count

◆ index

ZTEST_BMEM int index[(3)]

◆ multiple_condvar

struct k_condvar multiple_condvar[(3)]

◆ multiple_tid

struct k_thread multiple_tid[(3)]

◆ multiple_wake_tid

struct k_thread multiple_wake_tid[(3)]

◆ simple_condvar

struct k_condvar simple_condvar

◆ timeout

ZTEST_BMEM int timeout

◆ woken

ZTEST_BMEM int woken