| Index: base/memory/discardable_shared_memory_unittest.cc
|
| diff --git a/base/memory/discardable_shared_memory_unittest.cc b/base/memory/discardable_shared_memory_unittest.cc
|
| index 1f08aea8cb5551136922a3d73249a64b9901e1d8..74d19a64527187678a4109e01d85fa2b1b700e53 100644
|
| --- a/base/memory/discardable_shared_memory_unittest.cc
|
| +++ b/base/memory/discardable_shared_memory_unittest.cc
|
| @@ -234,8 +234,6 @@ TEST(DiscardableSharedMemoryTest, LockShouldAlwaysFailAfterSuccessfulPurge) {
|
| // Lock should fail as memory has been purged.
|
| auto lock_rv = memory2.Lock(0, 0);
|
| EXPECT_EQ(DiscardableSharedMemory::FAILED, lock_rv);
|
| - lock_rv = memory1.Lock(0, 0);
|
| - EXPECT_EQ(DiscardableSharedMemory::FAILED, lock_rv);
|
| }
|
|
|
| TEST(DiscardableSharedMemoryTest, LockAndUnlockRange) {
|
| @@ -263,27 +261,39 @@ TEST(DiscardableSharedMemoryTest, LockAndUnlockRange) {
|
| rv = memory1.Purge(Time::FromDoubleT(2));
|
| EXPECT_FALSE(rv);
|
|
|
| - // Unlock second page.
|
| + // Lock first page again.
|
| memory2.SetNow(Time::FromDoubleT(3));
|
| + auto lock_rv = memory2.Lock(0, base::GetPageSize());
|
| + EXPECT_NE(DiscardableSharedMemory::FAILED, lock_rv);
|
| +
|
| + // Unlock first page.
|
| + memory2.SetNow(Time::FromDoubleT(4));
|
| + memory2.Unlock(0, base::GetPageSize());
|
| +
|
| + rv = memory1.Purge(Time::FromDoubleT(5));
|
| + EXPECT_FALSE(rv);
|
| +
|
| + // Unlock second page.
|
| + memory2.SetNow(Time::FromDoubleT(6));
|
| memory2.Unlock(base::GetPageSize(), base::GetPageSize());
|
|
|
| - rv = memory1.Purge(Time::FromDoubleT(4));
|
| + rv = memory1.Purge(Time::FromDoubleT(7));
|
| EXPECT_FALSE(rv);
|
|
|
| // Unlock anything onwards.
|
| - memory2.SetNow(Time::FromDoubleT(5));
|
| + memory2.SetNow(Time::FromDoubleT(8));
|
| memory2.Unlock(2 * base::GetPageSize(), 0);
|
|
|
| // Memory is unlocked, but our usage timestamp is incorrect.
|
| - rv = memory1.Purge(Time::FromDoubleT(6));
|
| + rv = memory1.Purge(Time::FromDoubleT(9));
|
| EXPECT_FALSE(rv);
|
|
|
| // The failed purge attempt should have updated usage time to the correct
|
| // value.
|
| - EXPECT_EQ(Time::FromDoubleT(5), memory1.last_known_usage());
|
| + EXPECT_EQ(Time::FromDoubleT(8), memory1.last_known_usage());
|
|
|
| // Purge should now succeed.
|
| - rv = memory1.Purge(Time::FromDoubleT(7));
|
| + rv = memory1.Purge(Time::FromDoubleT(10));
|
| EXPECT_TRUE(rv);
|
| }
|
|
|
|
|