| Index: src/common/memory_unittest.cc
|
| diff --git a/src/common/memory_unittest.cc b/src/common/memory_unittest.cc
|
| index 1e511ca56ea7a41023baddd1dca0d741e90a6e2c..b271bc3ce6ed1eb9ed82c994006cef293727603e 100644
|
| --- a/src/common/memory_unittest.cc
|
| +++ b/src/common/memory_unittest.cc
|
| @@ -38,11 +38,13 @@ typedef testing::Test PageAllocatorTest;
|
|
|
| TEST(PageAllocatorTest, Setup) {
|
| PageAllocator allocator;
|
| + EXPECT_EQ(0, allocator.pages_allocated());
|
| }
|
|
|
| TEST(PageAllocatorTest, SmallObjects) {
|
| PageAllocator allocator;
|
|
|
| + EXPECT_EQ(0, allocator.pages_allocated());
|
| for (unsigned i = 1; i < 1024; ++i) {
|
| uint8_t *p = reinterpret_cast<uint8_t*>(allocator.Alloc(i));
|
| ASSERT_FALSE(p == NULL);
|
| @@ -53,8 +55,10 @@ TEST(PageAllocatorTest, SmallObjects) {
|
| TEST(PageAllocatorTest, LargeObject) {
|
| PageAllocator allocator;
|
|
|
| + EXPECT_EQ(0, allocator.pages_allocated());
|
| uint8_t *p = reinterpret_cast<uint8_t*>(allocator.Alloc(10000));
|
| ASSERT_FALSE(p == NULL);
|
| + EXPECT_EQ(3, allocator.pages_allocated());
|
| for (unsigned i = 1; i < 10; ++i) {
|
| uint8_t *p = reinterpret_cast<uint8_t*>(allocator.Alloc(i));
|
| ASSERT_FALSE(p == NULL);
|
| @@ -75,6 +79,7 @@ TEST(WastefulVectorTest, Setup) {
|
|
|
| TEST(WastefulVectorTest, Simple) {
|
| PageAllocator allocator_;
|
| + EXPECT_EQ(0, allocator_.pages_allocated());
|
| wasteful_vector<unsigned> v(&allocator_);
|
|
|
| for (unsigned i = 0; i < 256; ++i) {
|
| @@ -84,6 +89,7 @@ TEST(WastefulVectorTest, Simple) {
|
| }
|
| ASSERT_FALSE(v.empty());
|
| ASSERT_EQ(v.size(), 256u);
|
| + EXPECT_EQ(1, allocator_.pages_allocated());
|
| for (unsigned i = 0; i < 256; ++i)
|
| ASSERT_EQ(v[i], i);
|
| }
|
| @@ -91,7 +97,28 @@ TEST(WastefulVectorTest, Simple) {
|
| TEST(WastefulVectorTest, UsesPageAllocator) {
|
| PageAllocator allocator_;
|
| wasteful_vector<unsigned> v(&allocator_);
|
| + EXPECT_EQ(1, allocator_.pages_allocated());
|
|
|
| v.push_back(1);
|
| ASSERT_TRUE(allocator_.OwnsPointer(&v[0]));
|
| }
|
| +
|
| +TEST(WastefulVectorTest, AutoWastefulVector) {
|
| + PageAllocator allocator_;
|
| + EXPECT_EQ(0, allocator_.pages_allocated());
|
| +
|
| + auto_wasteful_vector<unsigned, 4> v(&allocator_);
|
| + EXPECT_EQ(0, allocator_.pages_allocated());
|
| +
|
| + v.push_back(1);
|
| + EXPECT_EQ(0, allocator_.pages_allocated());
|
| + EXPECT_FALSE(allocator_.OwnsPointer(&v[0]));
|
| +
|
| + v.resize(4);
|
| + EXPECT_EQ(0, allocator_.pages_allocated());
|
| + EXPECT_FALSE(allocator_.OwnsPointer(&v[0]));
|
| +
|
| + v.resize(10);
|
| + EXPECT_EQ(1, allocator_.pages_allocated());
|
| + EXPECT_TRUE(allocator_.OwnsPointer(&v[0]));
|
| +}
|
|
|