1 /*
2  * Copyright (c) 2024-2025 Nordic Semiconductor ASA
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 #include <stdbool.h>
7 
8 #include <zephyr/kernel.h>
9 #include <zephyr/fff.h>
10 
11 /* List of fakes used by this unit tester */
12 #define KERNEL_MOCKS_FFF_FAKES_LIST(FAKE)                                                          \
13 	FAKE(k_is_in_isr)                                                                          \
14 	FAKE(k_poll_signal_raise)                                                                  \
15 	FAKE(k_sem_take)                                                                           \
16 	FAKE(k_sem_count_get)                                                                      \
17 	FAKE(k_sem_give)                                                                           \
18 	FAKE(k_sched_current_thread_query)                                                         \
19 	FAKE(k_work_init)                                                                          \
20 	FAKE(k_work_init_delayable)                                                                \
21 	FAKE(k_work_cancel_delayable)                                                              \
22 	FAKE(k_work_flush)                                                                         \
23 	FAKE(k_work_submit)                                                                        \
24 	FAKE(k_work_submit_to_queue)                                                               \
25 	FAKE(k_work_reschedule)                                                                    \
26 	FAKE(k_work_schedule)                                                                      \
27 	FAKE(k_queue_init)                                                                         \
28 	FAKE(k_queue_append)                                                                       \
29 	FAKE(k_queue_is_empty)                                                                     \
30 	FAKE(k_queue_get)                                                                          \
31 	FAKE(k_queue_prepend)                                                                      \
32 	FAKE(k_heap_alloc)                                                                         \
33 	FAKE(k_heap_aligned_alloc)                                                                 \
34 	FAKE(k_heap_free)                                                                          \
35 	FAKE(k_sched_lock)                                                                         \
36 	FAKE(k_sched_unlock)                                                                       \
37 
38 DECLARE_FAKE_VALUE_FUNC(bool, k_is_in_isr);
39 DECLARE_FAKE_VALUE_FUNC(int, k_poll_signal_raise, struct k_poll_signal *, int);
40 DECLARE_FAKE_VALUE_FUNC(int, k_sem_take, struct k_sem *, k_timeout_t);
41 DECLARE_FAKE_VALUE_FUNC(unsigned int, k_sem_count_get, struct k_sem *);
42 DECLARE_FAKE_VOID_FUNC(k_sem_give, struct k_sem *);
43 DECLARE_FAKE_VALUE_FUNC(k_tid_t, k_sched_current_thread_query);
44 DECLARE_FAKE_VOID_FUNC(k_work_init, struct k_work *, k_work_handler_t);
45 DECLARE_FAKE_VOID_FUNC(k_work_init_delayable, struct k_work_delayable *, k_work_handler_t);
46 DECLARE_FAKE_VALUE_FUNC(int, k_work_busy_get, const struct k_work *);
47 DECLARE_FAKE_VALUE_FUNC(int, k_work_cancel_delayable, struct k_work_delayable *);
48 DECLARE_FAKE_VALUE_FUNC(bool, k_work_flush, struct k_work *, struct k_work_sync *);
49 DECLARE_FAKE_VALUE_FUNC(int, k_work_submit, struct k_work *);
50 DECLARE_FAKE_VALUE_FUNC(int, k_work_submit_to_queue, struct k_work_q *, struct k_work *);
51 DECLARE_FAKE_VALUE_FUNC(int, k_work_reschedule, struct k_work_delayable *, k_timeout_t);
52 DECLARE_FAKE_VALUE_FUNC(int, k_work_schedule, struct k_work_delayable *, k_timeout_t);
53 DECLARE_FAKE_VOID_FUNC(k_queue_init, struct k_queue *);
54 DECLARE_FAKE_VOID_FUNC(k_queue_append, struct k_queue *, void *);
55 DECLARE_FAKE_VALUE_FUNC(int, k_queue_is_empty, struct k_queue *);
56 DECLARE_FAKE_VALUE_FUNC(void *, k_queue_get, struct k_queue *, k_timeout_t);
57 DECLARE_FAKE_VOID_FUNC(k_queue_prepend, struct k_queue *, void *);
58 DECLARE_FAKE_VALUE_FUNC(void *, k_heap_alloc, struct k_heap *, size_t, k_timeout_t);
59 DECLARE_FAKE_VOID_FUNC(k_heap_free, struct k_heap *, void *);
60 DECLARE_FAKE_VOID_FUNC(k_sched_lock);
61 DECLARE_FAKE_VOID_FUNC(k_sched_unlock);
62 DECLARE_FAKE_VALUE_FUNC(void *, k_heap_aligned_alloc, struct k_heap *,
63 			size_t, size_t, k_timeout_t);
64