#include #include #include "../Renderive/plot/Plot.h" #include "../Renderive/base/Memory.h" namespace { void* callback_allocate(void*, std::size_t size, std::size_t alignment) { return std::pmr::new_delete_resource()->allocate(size, alignment); } void callback_deallocate(void*, void* address, std::size_t size, std::size_t alignment) { std::pmr::new_delete_resource()->deallocate(address, size, alignment); } } TEST(Memory_Late_Config, RejectsCallbacksAfterSchedulerStart) { renderive::start_render_scheduler(); renderive::Memory_Callbacks callbacks; callbacks.allocate = callback_allocate; callbacks.deallocate = callback_deallocate; EXPECT_THROW(renderive::set_memory_callbacks(callbacks), std::logic_error); } int main(int argc, char** argv) { testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }