Files
Renderive/tests/Memory_Late_Config.cpp
T
2026-07-30 18:09:03 +08:00

24 lines
876 B
C++

#include <stdexcept>
#include <gtest/gtest.h>
#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();
}