blob: e1f6310bd1ffcf83a03024a5d9c39199e6c95bb2 [file] [log] [blame]
/*
* Copyright (c) 2016 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef __TEST_SCHED_H__
#define __TEST_SCHED_H__
#include <zephyr/zephyr.h>
#include <zephyr/ztest.h>
#define MAX_NUM_THREAD 10
#define STACK_SIZE (640 + CONFIG_TEST_EXTRA_STACK_SIZE)
K_THREAD_STACK_DECLARE(tstack, STACK_SIZE);
K_THREAD_STACK_ARRAY_DECLARE(tstacks, MAX_NUM_THREAD, STACK_SIZE);
extern struct k_thread user_thread;
extern struct k_sem user_sem;
struct thread_data {
k_tid_t tid;
int priority;
int executed;
};
void spin_for_ms(int ticks);
void test_priority_cooperative(void);
void test_priority_preemptible(void);
void test_priority_preemptible_wait_prio(void);
void test_bad_priorities(void);
void test_yield_cooperative(void);
void test_sleep_cooperative(void);
void test_busy_wait_cooperative(void);
void test_sleep_wakeup_preemptible(void);
void test_pending_thread_wakeup(void);
void test_time_slicing_preemptible(void);
void test_time_slicing_disable_preemptible(void);
void test_lock_preemptible(void);
void test_unlock_preemptible(void);
void test_unlock_nested_sched_lock(void);
void test_sched_is_preempt_thread(void);
void test_slice_reset(void);
void test_slice_scheduling(void);
void test_priority_scheduling(void);
void test_wakeup_expired_timer_thread(void);
void test_user_k_wakeup(void);
void test_user_k_is_preempt(void);
void test_k_thread_suspend_init_null(void);
void test_k_thread_resume_init_null(void);
void test_k_thread_priority_get_init_null(void);
void test_k_thread_priority_set_init_null(void);
void test_k_thread_priority_set_overmax(void);
void test_k_thread_priority_set_upgrade(void);
void test_k_wakeup_init_null(void);
void test_slice_perthread(void);
#endif /* __TEST_SCHED_H__ */