| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/installer/util/lzma_file_allocator.h" | 5 #include "chrome/installer/util/lzma_file_allocator.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 TEST_F(LzmaFileAllocatorTest, ReadAndWriteWithMultipleSizeTest) { | 34 TEST_F(LzmaFileAllocatorTest, ReadAndWriteWithMultipleSizeTest) { |
| 35 const char kSampleExpectedCharacter = 'a'; | 35 const char kSampleExpectedCharacter = 'a'; |
| 36 SYSTEM_INFO sysinfo; | 36 SYSTEM_INFO sysinfo; |
| 37 ::GetSystemInfo(&sysinfo); | 37 ::GetSystemInfo(&sysinfo); |
| 38 EXPECT_GT(sysinfo.dwPageSize, 0U); | 38 EXPECT_GT(sysinfo.dwPageSize, 0U); |
| 39 | 39 |
| 40 size_t size_list[] = {1, 10, sysinfo.dwPageSize - 1, sysinfo.dwPageSize, | 40 size_t size_list[] = {1, 10, sysinfo.dwPageSize - 1, sysinfo.dwPageSize, |
| 41 sysinfo.dwPageSize + 1}; | 41 sysinfo.dwPageSize + 1}; |
| 42 | 42 |
| 43 for (size_t size : size_list) { | 43 for (size_t size : size_list) { |
| 44 LzmaFileAllocator allocator(temp_dir_.path()); | 44 LzmaFileAllocator allocator(temp_dir_.GetPath()); |
| 45 char* s = reinterpret_cast<char*>(IAlloc_Alloc(&allocator, size)); | 45 char* s = reinterpret_cast<char*>(IAlloc_Alloc(&allocator, size)); |
| 46 std::fill_n(s, size, kSampleExpectedCharacter); | 46 std::fill_n(s, size, kSampleExpectedCharacter); |
| 47 char* ret = std::find_if(s, s + size, [&kSampleExpectedCharacter](char c) { | 47 char* ret = std::find_if(s, s + size, [&kSampleExpectedCharacter](char c) { |
| 48 return c != kSampleExpectedCharacter; | 48 return c != kSampleExpectedCharacter; |
| 49 }); | 49 }); |
| 50 EXPECT_EQ(s + size, ret); | 50 EXPECT_EQ(s + size, ret); |
| 51 EXPECT_EQ(static_cast<DWORD>(MEM_MAPPED), GetMemoryType(s)); | 51 EXPECT_EQ(static_cast<DWORD>(MEM_MAPPED), GetMemoryType(s)); |
| 52 | 52 |
| 53 IAlloc_Free(&allocator, s); | 53 IAlloc_Free(&allocator, s); |
| 54 } | 54 } |
| 55 } | 55 } |
| 56 | 56 |
| 57 TEST_F(LzmaFileAllocatorTest, SizeIsZeroTest) { | 57 TEST_F(LzmaFileAllocatorTest, SizeIsZeroTest) { |
| 58 LzmaFileAllocator allocator(temp_dir_.path()); | 58 LzmaFileAllocator allocator(temp_dir_.GetPath()); |
| 59 char* s = reinterpret_cast<char*>(IAlloc_Alloc(&allocator, 0)); | 59 char* s = reinterpret_cast<char*>(IAlloc_Alloc(&allocator, 0)); |
| 60 EXPECT_EQ(s, nullptr); | 60 EXPECT_EQ(s, nullptr); |
| 61 | 61 |
| 62 IAlloc_Free(&allocator, s); | 62 IAlloc_Free(&allocator, s); |
| 63 } | 63 } |
| 64 | 64 |
| 65 TEST_F(LzmaFileAllocatorTest, DeleteAfterCloseTest) { | 65 TEST_F(LzmaFileAllocatorTest, DeleteAfterCloseTest) { |
| 66 std::unique_ptr<LzmaFileAllocator> allocator = | 66 std::unique_ptr<LzmaFileAllocator> allocator = |
| 67 base::MakeUnique<LzmaFileAllocator>(temp_dir_.path()); | 67 base::MakeUnique<LzmaFileAllocator>(temp_dir_.GetPath()); |
| 68 base::FilePath file_path = allocator->mapped_file_path_; | 68 base::FilePath file_path = allocator->mapped_file_path_; |
| 69 ASSERT_TRUE(base::PathExists(file_path)); | 69 ASSERT_TRUE(base::PathExists(file_path)); |
| 70 allocator.reset(); | 70 allocator.reset(); |
| 71 ASSERT_FALSE(base::PathExists(file_path)); | 71 ASSERT_FALSE(base::PathExists(file_path)); |
| 72 } | 72 } |
| 73 | 73 |
| 74 TEST_F(LzmaFileAllocatorTest, ErrorAndFallbackTest) { | 74 TEST_F(LzmaFileAllocatorTest, ErrorAndFallbackTest) { |
| 75 LzmaFileAllocator allocator(temp_dir_.path()); | 75 LzmaFileAllocator allocator(temp_dir_.GetPath()); |
| 76 allocator.mapped_file_.Close(); | 76 allocator.mapped_file_.Close(); |
| 77 char* s = reinterpret_cast<char*>(IAlloc_Alloc(&allocator, 10)); | 77 char* s = reinterpret_cast<char*>(IAlloc_Alloc(&allocator, 10)); |
| 78 EXPECT_NE(nullptr, s); | 78 EXPECT_NE(nullptr, s); |
| 79 ASSERT_FALSE(allocator.file_mapping_handle_.IsValid()); | 79 ASSERT_FALSE(allocator.file_mapping_handle_.IsValid()); |
| 80 EXPECT_EQ(static_cast<DWORD>(MEM_PRIVATE), GetMemoryType(s)); | 80 EXPECT_EQ(static_cast<DWORD>(MEM_PRIVATE), GetMemoryType(s)); |
| 81 | 81 |
| 82 IAlloc_Free(&allocator, s); | 82 IAlloc_Free(&allocator, s); |
| 83 } | 83 } |
| OLD | NEW |