| Index: runtime/vm/verified_memory_test.cc
|
| diff --git a/runtime/vm/verified_memory_test.cc b/runtime/vm/verified_memory_test.cc
|
| index 6d972167f9462b599008cd493077c51f7d57f2ee..21978e712691613d462824af4168033b013e5837 100644
|
| --- a/runtime/vm/verified_memory_test.cc
|
| +++ b/runtime/vm/verified_memory_test.cc
|
| @@ -15,12 +15,22 @@ void Init() {
|
| }
|
|
|
|
|
| +void Shutdown() {
|
| +#if defined(DEBUG)
|
| + // We must reset this to false to avoid checking some assumptions in
|
| + // VM shutdown that are left violated by these tests.
|
| + FLAG_verified_mem = false;
|
| +#endif
|
| +}
|
| +
|
| +
|
| UNIT_TEST_CASE(VerifiedMemoryReserve) {
|
| Init();
|
| const intptr_t kReservationSize = 64 * KB;
|
| VirtualMemory* vm = VerifiedMemory::Reserve(kReservationSize);
|
| EXPECT_EQ(kReservationSize, vm->size());
|
| delete vm;
|
| + Shutdown();
|
| }
|
|
|
|
|
| @@ -31,6 +41,7 @@ UNIT_TEST_CASE(VerifiedMemoryCommit) {
|
| EXPECT_EQ(kReservationSize, vm->size());
|
| vm->Commit(false);
|
| delete vm;
|
| + Shutdown();
|
| }
|
|
|
|
|
| @@ -53,6 +64,7 @@ UNIT_TEST_CASE(VerifiedMemoryBasic) {
|
| *unverified = 123;
|
| VerifiedMemory::Verify(reinterpret_cast<uword>(addr), 3 * sizeof(double));
|
| delete vm;
|
| + Shutdown();
|
| }
|
|
|
|
|
| @@ -72,6 +84,7 @@ UNIT_TEST_CASE(VerifiedMemoryAccept) {
|
| VerifiedMemory::Accept(reinterpret_cast<uword>(addr), 2 * sizeof(double));
|
| VerifiedMemory::Verify(reinterpret_cast<uword>(addr), 3 * sizeof(double));
|
| delete vm;
|
| + Shutdown();
|
| }
|
|
|
|
|
| @@ -86,6 +99,7 @@ UNIT_TEST_CASE(VerifyImplicit_Crash) {
|
| double* addr = reinterpret_cast<double*>(vm->address());
|
| addr[0] = 0.5; // Forget to use Write.
|
| VerifiedMemory::Write(&addr[0], 1.5);
|
| + Shutdown();
|
| }
|
|
|
|
|
| @@ -101,6 +115,7 @@ UNIT_TEST_CASE(VerifyExplicit_Crash) {
|
| addr[1] = 3.5; // Forget to use Write.
|
| VerifiedMemory::Write(&addr[2], 2.5);
|
| VerifiedMemory::Verify(reinterpret_cast<uword>(addr), 3 * sizeof(double));
|
| + Shutdown();
|
| }
|
|
|
| } // namespace dart
|
|
|