#include "gp/utils/pointers.hpp" #include "gp/utils/allocators/arena.hpp" #include "test_scaffold.h" #include "allocator.hpp" #include struct arena_test : public test_scaffold { uint32_t seed; arena_test() { name = __FILE__ ":1"; } virtual int run() { int return_val = 0; std::unique_ptr> store = std::make_unique>(); gp::arena alloc{&*store->begin(), store->size()}; auto v = gp::unique_ptr::make(alloc, 1024); gp::arena alloc2{alloc, 1024}; gp::arena alloc3{}; { auto v2 = gp::unique_ptr::make(alloc2, 1024); void* some_memory = alloc2.allocate(128); if(!some_memory) return_val++; if(alloc2.deallocate(nullptr)) return_val++; } { if(alloc3.allocate(4)) return_val++; if(alloc3.deallocate(nullptr)) return_val++; } alloc2.reset(); return return_val; } }; append_test dummy_8djbvs543(new arena_test{});