/** * SPDX-License-Identifier: Apache-2.0 */ #include #include #include /* void *malloc(size_t size); void free(void *ptr); */ static std::function _malloc; static std::function _free; class MemoryMocker { public: MemoryMocker() { _malloc = [this](size_t size) { return malloc(size); }; _free = [this](void *ptr) { return free(ptr); }; } ~MemoryMocker() { _malloc = {}; _free = {}; } MOCK_CONST_METHOD1(malloc, void*(size_t)); MOCK_CONST_METHOD1(free, void(void *)); }; class MemoryMockBase { protected: MemoryMocker memorym; }; #ifdef __cplusplus extern "C" { #endif static void* unittest_malloc(size_t size) { return _malloc(size); } /* static void free(void *ptr) { _free(ptr); } */ #ifdef __cplusplus } #endif