| 
    Zephyr Project API
    3.4.0
    
   A Scalable Open Source RTOS 
   | 
 
#include <zephyr/ztest.h>#include <zephyr/kernel_structs.h>#include <zephyr/kernel.h>#include <kernel_internal.h>#include <string.h>#include <ksched.h>Macros | |
| #define | STACK_SIZE (512 + CONFIG_TEST_EXTRA_STACK_SIZE) | 
| #define | JOIN_TIMEOUT_MS 100 | 
| #define | WAIT_TO_START_MS 100 | 
| #define | INT_ARRAY_SIZE 128 | 
Enumerations | |
| enum | control_method {  TIMEOUT , NO_WAIT , SELF_ABORT , OTHER_ABORT , OTHER_ABORT_TIMEOUT , ALREADY_EXIT , ISR_ALREADY_EXIT , ISR_RUNNING }  | 
Functions | |
| K_THREAD_STACK_DEFINE (tstack,(512+CONFIG_TEST_EXTRA_STACK_SIZE)) | |
| static | K_THREAD_STACK_DEFINE (tstack_custom,(512+CONFIG_TEST_EXTRA_STACK_SIZE)) | 
| static | K_THREAD_STACK_DEFINE (tstack_name,(512+CONFIG_TEST_EXTRA_STACK_SIZE)) | 
| ZTEST (threads_lifecycle, test_systhreads_main) | |
| Verify main thread.  More... | |
| ZTEST (threads_lifecycle, test_systhreads_idle) | |
| Verify idle thread.  More... | |
| static void | customdata_entry (void *p1, void *p2, void *p3) | 
| ZTEST (threads_lifecycle_1cpu, test_customdata_get_set_coop) | |
| test thread custom data get/set from coop thread  More... | |
| static void | thread_name_entry (void *p1, void *p2, void *p3) | 
| ZTEST (threads_lifecycle, test_thread_name_get_set) | |
| test thread name get/set from supervisor thread  More... | |
| ZTEST_USER (threads_lifecycle, test_thread_name_user_get_set) | |
| test thread name get/set from user thread  More... | |
| ZTEST_USER (threads_lifecycle_1cpu, test_customdata_get_set_preempt) | |
| test thread custom data get/set from preempt thread  More... | |
| static void | umode_entry (void *thread_id, void *p2, void *p3) | 
| static void | enter_user_mode_entry (void *p1, void *p2, void *p3) | 
| Test k_thread_user_mode_enter() to cover when userspace is not supported/enabled.  More... | |
| ZTEST_USER (threads_lifecycle, test_user_mode) | |
| K_THREAD_STACK_DEFINE (join_stack,(512+CONFIG_TEST_EXTRA_STACK_SIZE)) | |
| K_THREAD_STACK_DEFINE (control_stack,(512+CONFIG_TEST_EXTRA_STACK_SIZE)) | |
| void | join_entry (void *p1, void *p2, void *p3) | 
| void | control_entry (void *p1, void *p2, void *p3) | 
| void | do_join_from_isr (const void *arg) | 
| int | join_scenario_interval (enum control_method m, int64_t *interval) | 
| static int | join_scenario (enum control_method m) | 
| ZTEST_USER (threads_lifecycle, test_thread_join) | |
| ZTEST (threads_lifecycle, test_thread_join_isr) | |
| K_THREAD_STACK_DEFINE (deadlock1_stack,(512+CONFIG_TEST_EXTRA_STACK_SIZE)) | |
| K_THREAD_STACK_DEFINE (deadlock2_stack,(512+CONFIG_TEST_EXTRA_STACK_SIZE)) | |
| void | deadlock1_entry (void *p1, void *p2, void *p3) | 
| void | deadlock2_entry (void *p1, void *p2, void *p3) | 
| ZTEST_USER (threads_lifecycle, test_thread_join_deadlock) | |
| static void | user_start_thread (void *p1, void *p2, void *p3) | 
| ZTEST_USER (threads_lifecycle, test_thread_timeout_remaining_expires) | |
| static void | foreach_callback (const struct k_thread *thread, void *user_data) | 
| ZTEST (threads_lifecycle, test_thread_runtime_stats_get) | |
| ZTEST (threads_lifecycle, test_k_busy_wait) | |
| static void | tp_entry (void *p1, void *p2, void *p3) | 
| ZTEST_USER (threads_lifecycle_1cpu, test_k_busy_wait_user) | |
| int | large_stack (size_t *space) | 
| int | small_stack (size_t *space) | 
| ZTEST_USER (threads_lifecycle, test_k_thread_stack_space_get_user) | |
| void * | thread_test_setup (void) | 
| ZTEST_SUITE (threads_lifecycle, NULL, thread_test_setup, NULL, NULL, NULL) | |
| ZTEST_SUITE (threads_lifecycle_1cpu, NULL, thread_test_setup, ztest_simple_1cpu_before, ztest_simple_1cpu_after, NULL) | |
Variables | |
| struct k_thread | tdata | 
| size_t | tstack_size = K_THREAD_STACK_SIZEOF(tstack) | 
| static struct k_thread | tdata_custom | 
| static struct k_thread | tdata_name | 
| static int | main_prio | 
| static ZTEST_DMEM int | tp = 10 | 
| static char | unreadable_string [64] | 
| static char | not_my_buffer [CONFIG_THREAD_MAX_NAME_LEN] | 
| struct k_sem | sem | 
| struct k_thread | join_thread | 
| struct k_thread | control_thread | 
| struct k_thread | deadlock1_thread | 
| struct k_thread | deadlock2_thread | 
| #define INT_ARRAY_SIZE 128 | 
| #define JOIN_TIMEOUT_MS 100 | 
| #define STACK_SIZE (512 + CONFIG_TEST_EXTRA_STACK_SIZE) | 
| #define WAIT_TO_START_MS 100 | 
| enum control_method | 
| void control_entry | ( | void * | p1, | 
| void * | p2, | ||
| void * | p3 | ||
| ) | 
      
  | 
  static | 
TESTPOINT: custom data comparison
| void deadlock1_entry | ( | void * | p1, | 
| void * | p2, | ||
| void * | p3 | ||
| ) | 
| void deadlock2_entry | ( | void * | p1, | 
| void * | p2, | ||
| void * | p3 | ||
| ) | 
| void do_join_from_isr | ( | const void * | arg | ) | 
      
  | 
  static | 
| void join_entry | ( | void * | p1, | 
| void * | p2, | ||
| void * | p3 | ||
| ) | 
      
  | 
  inlinestatic | 
| int join_scenario_interval | ( | enum control_method | m, | 
| int64_t * | interval | ||
| ) | 
| K_THREAD_STACK_DEFINE | ( | control_stack | , | 
| (512+CONFIG_TEST_EXTRA_STACK_SIZE) | |||
| ) | 
| K_THREAD_STACK_DEFINE | ( | deadlock1_stack | , | 
| (512+CONFIG_TEST_EXTRA_STACK_SIZE) | |||
| ) | 
| K_THREAD_STACK_DEFINE | ( | deadlock2_stack | , | 
| (512+CONFIG_TEST_EXTRA_STACK_SIZE) | |||
| ) | 
| K_THREAD_STACK_DEFINE | ( | join_stack | , | 
| (512+CONFIG_TEST_EXTRA_STACK_SIZE) | |||
| ) | 
| K_THREAD_STACK_DEFINE | ( | tstack | , | 
| (512+CONFIG_TEST_EXTRA_STACK_SIZE) | |||
| ) | 
      
  | 
  static | 
      
  | 
  static | 
| int large_stack | ( | size_t * | space | ) | 
| int small_stack | ( | size_t * | space | ) | 
      
  | 
  static | 
| void * thread_test_setup | ( | void | ) | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
| ZTEST | ( | threads_lifecycle | , | 
| test_k_busy_wait | |||
| ) | 
| ZTEST | ( | threads_lifecycle | , | 
| test_thread_join_isr | |||
| ) | 
| ZTEST | ( | threads_lifecycle | , | 
| test_thread_runtime_stats_get | |||
| ) | 
| ZTEST_SUITE | ( | threads_lifecycle | , | 
| NULL | , | ||
| thread_test_setup | , | ||
| NULL | , | ||
| NULL | , | ||
| NULL | |||
| ) | 
| ZTEST_SUITE | ( | threads_lifecycle_1cpu | , | 
| NULL | , | ||
| thread_test_setup | , | ||
| ztest_simple_1cpu_before | , | ||
| ztest_simple_1cpu_after | , | ||
| NULL | |||
| ) | 
| ZTEST_USER | ( | threads_lifecycle | , | 
| test_k_thread_stack_space_get_user | |||
| ) | 
| ZTEST_USER | ( | threads_lifecycle | , | 
| test_thread_join | |||
| ) | 
| ZTEST_USER | ( | threads_lifecycle | , | 
| test_thread_join_deadlock | |||
| ) | 
| ZTEST_USER | ( | threads_lifecycle | , | 
| test_thread_timeout_remaining_expires | |||
| ) | 
| ZTEST_USER | ( | threads_lifecycle | , | 
| test_user_mode | |||
| ) | 
| ZTEST_USER | ( | threads_lifecycle_1cpu | , | 
| test_k_busy_wait_user | |||
| ) | 
| struct k_thread control_thread | 
| struct k_thread deadlock1_thread | 
| struct k_thread deadlock2_thread | 
| struct k_thread join_thread | 
      
  | 
  static | 
      
  | 
  static | 
| struct k_sem sem | 
| struct k_thread tdata | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
| size_t tstack_size = K_THREAD_STACK_SIZEOF(tstack) | 
      
  | 
  static |