#include #include #include #include #include "../Renderive/base/Memory.h" namespace { struct Payload { std::uint64_t value{}; }; } TEST(Memory_Default, AllocatesAndTracksDefaultResource) { std::pmr::vector values(renderive::memory_resource()); values.resize(4096, 7); auto owner = renderive::make_shared(); owner->value = values.front(); EXPECT_EQ(owner->value, 7); std::thread release_thread([owner = std::move(owner)]() mutable { owner.reset(); }); release_thread.join(); renderive::Memory_Stats stats = renderive::memory_stats(); EXPECT_GT(stats.upstream_allocation_count, 0); EXPECT_GT(stats.upstream_current_bytes, 0); EXPECT_GT(stats.upstream_peak_bytes, 0); } int main(int argc, char** argv) { testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }