Zephyr Project API 3.5.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
Spinlock Tests

Tests for spinlock. More...

Functions

 ZTEST (spinlock, test_spinlock_basic)
 Test basic spinlock.
 
 ZTEST (spinlock, test_spinlock_bounce)
 Test spinlock with bounce.
 
 ZTEST (spinlock, test_spinlock_mutual_exclusion)
 Test basic mutual exclusion using interrupt masking.
 
 ZTEST (spinlock, test_trylock)
 Test k_spin_trylock()
 
 ZTEST (spinlock, test_spinlock_no_recursive)
 Test spinlock cannot be recursive.
 
 ZTEST (spinlock, test_spinlock_unlock_error)
 Test unlocking incorrect spinlock.
 
 ZTEST (spinlock, test_spinlock_release_error)
 Test unlocking incorrect spinlock.
 
 ZTEST (spinlock, test_spinlock_lock_time_limit)
 Test unlocking spinlock held over the time limit.
 

Detailed Description

Tests for spinlock.

Function Documentation

◆ ZTEST() [1/8]

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/8]

ZTEST ( spinlock  ,
test_spinlock_bounce   
)

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

Test spinlock with bounce.

See also
arch_start_cpu()

◆ ZTEST() [3/8]

ZTEST ( spinlock  ,
test_spinlock_lock_time_limit   
)

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

Test unlocking spinlock held over the time limit.

Validate unlocking spinlock held past the time limit will trigger assertion.

See also
k_spin_unlock()

◆ ZTEST() [4/8]

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() [5/8]

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() [6/8]

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() [7/8]

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()

◆ ZTEST() [8/8]

ZTEST ( spinlock  ,
test_trylock   
)