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