Zephyr Project API  3.2.0
A Scalable Open Source RTOS
Spinlock Tests

Tests for spinlock. More...

Functions

 ZTEST (spinlock, test_spinlock_basic)
 Test basic spinlock. More...
 
 ZTEST (spinlock, test_spinlock_bounce)
 Test spinlock with bounce. More...
 
 ZTEST (spinlock, test_spinlock_mutual_exclusion)
 Test basic mutual exclusion using interrupt masking. More...
 
 ZTEST (spinlock, test_spinlock_no_recursive)
 Test spinlock cannot be recursive. More...
 
 ZTEST (spinlock, test_spinlock_unlock_error)
 Test unlocking incorrect spinlock. More...
 
 ZTEST (spinlock, test_spinlock_release_error)
 Test unlocking incorrect spinlock. More...
 

Detailed Description

Tests for spinlock.

Function Documentation

◆ ZTEST() [1/6]

ZTEST ( spinlock  ,
test_spinlock_basic   
)

#include <tests/kernel/spinlock/src/main.c>

Test basic spinlock.

See also
k_spin_lock(), k_spin_unlock()

◆ ZTEST() [2/6]

ZTEST ( spinlock  ,
test_spinlock_bounce   
)

#include <tests/kernel/spinlock/src/main.c>

Test spinlock with bounce.

See also
arch_start_cpu()

◆ ZTEST() [3/6]

ZTEST ( spinlock  ,
test_spinlock_mutual_exclusion   
)

#include <tests/kernel/spinlock/src/main.c>

Test basic mutual exclusion using interrupt masking.

  • Spinlocks can be initialized at run-time.
  • Spinlocks in uniprocessor context should achieve mutual exclusion using interrupt masking.
See also
k_spin_lock(), k_spin_unlock()

◆ ZTEST() [4/6]

ZTEST ( spinlock  ,
test_spinlock_no_recursive   
)

#include <tests/kernel/spinlock/src/spinlock_error_case.c>

Test spinlock cannot be recursive.

Validate using spinlock recursive will trigger assertion.

See also
k_spin_lock()

◆ ZTEST() [5/6]

ZTEST ( spinlock  ,
test_spinlock_release_error   
)

#include <tests/kernel/spinlock/src/spinlock_error_case.c>

Test unlocking incorrect spinlock.

Validate unlocking incorrect spinlock will trigger assertion.

See also
k_spin_release()

◆ ZTEST() [6/6]

ZTEST ( spinlock  ,
test_spinlock_unlock_error   
)

#include <tests/kernel/spinlock/src/spinlock_error_case.c>

Test unlocking incorrect spinlock.

Validate unlocking incorrect spinlock will trigger assertion.

See also
k_spin_unlock()