Added test that should trigger a memory leak.

pull/13171/head
Joshua Haberman 5 years ago
parent 7d726c8da6
commit 35abcc248b
  1. 11
      tests/test_cpp.cc
  2. 2
      upb/upb.hpp

@ -939,6 +939,17 @@ void TestArena() {
upb_arena_malloc(arena.ptr(), 1000000); upb_arena_malloc(arena.ptr(), 1000000);
} }
ASSERT(n == 0); ASSERT(n == 0);
{
// Test fuse.
upb::Arena arena1;
upb::Arena arena2;
arena1.Fuse(arena2);
upb_arena_malloc(arena1.ptr(), 1);
upb_arena_malloc(arena2.ptr(), 1);
}
} }
extern "C" { extern "C" {

@ -60,6 +60,8 @@ class Arena {
}); });
} }
void Fuse(Arena& other) { upb_arena_fuse(ptr(), other.ptr()); }
private: private:
std::unique_ptr<upb_arena, decltype(&upb_arena_free)> ptr_; std::unique_ptr<upb_arena, decltype(&upb_arena_free)> ptr_;
}; };

Loading…
Cancel
Save