#ifndef UT_H #define UT_H #include <kc.h> #include <kc_memory_entry.h> extern void suite_assert(void); extern void suite_dl(void); extern void suite_env(void); extern void suite_list_array(void); extern void suite_list_linked(void); extern void suite_lock_guard(void); extern void suite_map(void); extern void suite_memory_dump(void); extern void suite_memory_entry(void); extern void suite_memory_listener(void); extern void suite_memory_mark(void); extern void suite_memory(void); extern void suite_queue(void); extern void suite_socket(void); extern void suite_thread(void); //////////////////////////////////////////////////////////////////////////////// // // 以下、メモリ管理操作用 // extern bool (*_UT_KcMemory_can_alloc)( KcMemoryEntry *entry, size_t alignment, size_t size, KcMemoryMark mark, const char *file, const char *func, int line); typedef bool (*UT_KcMemory_can_alloc_func)( KcMemoryEntry *entry, size_t alignment, size_t size, KcMemoryMark mark, const char *file, const char *func, int line); UT_KcMemory_can_alloc_func _ut_can_alloc_func(int counter); /** * ut_alloc_control(0) * { * // メモリ確保失敗させたい処理 * } * * ut_alloc_control(1) * { * // 2回目にメモリ確保失敗させたい処理 * } */ #define ut_alloc_control(counter) \ for (_UT_KcMemory_can_alloc = _ut_can_alloc_func(counter); _UT_KcMemory_can_alloc != NULL; _UT_KcMemory_can_alloc = NULL) #endif // UT_H