| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <stdint.h> | 5 #include <stdint.h> |
| 6 | 6 |
| 7 #include "base/files/file.h" | 7 #include "base/files/file.h" |
| 8 #include "base/files/file_util.h" | 8 #include "base/files/file_util.h" |
| 9 #include "base/metrics/field_trial.h" | 9 #include "base/metrics/field_trial.h" |
| 10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
| (...skipping 3735 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3746 DoomEntry(key_to_delete); | 3746 DoomEntry(key_to_delete); |
| 3747 keys_to_match.erase(key_to_delete); | 3747 keys_to_match.erase(key_to_delete); |
| 3748 key_pool.erase(key_to_delete); | 3748 key_pool.erase(key_to_delete); |
| 3749 ASSERT_TRUE(EnumerateAndMatchKeys(-1, iter.get(), &keys_to_match, &count)); | 3749 ASSERT_TRUE(EnumerateAndMatchKeys(-1, iter.get(), &keys_to_match, &count)); |
| 3750 iter.reset(); | 3750 iter.reset(); |
| 3751 | 3751 |
| 3752 EXPECT_EQ(key_pool.size(), count); | 3752 EXPECT_EQ(key_pool.size(), count); |
| 3753 EXPECT_TRUE(keys_to_match.empty()); | 3753 EXPECT_TRUE(keys_to_match.empty()); |
| 3754 } | 3754 } |
| 3755 | 3755 |
| 3756 // This test is flaky on Android Marshmallow crbug.com/638891. |
| 3757 #if !defined(OS_ANDROID) |
| 3756 // Tests that enumerations are not affected by corrupt files. | 3758 // Tests that enumerations are not affected by corrupt files. |
| 3757 TEST_F(DiskCacheBackendTest, SimpleCacheEnumerationCorruption) { | 3759 TEST_F(DiskCacheBackendTest, SimpleCacheEnumerationCorruption) { |
| 3758 SetSimpleCacheMode(); | 3760 SetSimpleCacheMode(); |
| 3759 InitCache(); | 3761 InitCache(); |
| 3760 // Create a corrupt entry. The write/read sequence ensures that the entry will | 3762 // Create a corrupt entry. The write/read sequence ensures that the entry will |
| 3761 // have been created before corrupting the platform files, in the case of | 3763 // have been created before corrupting the platform files, in the case of |
| 3762 // optimistic operations. | 3764 // optimistic operations. |
| 3763 const std::string key = "the key"; | 3765 const std::string key = "the key"; |
| 3764 disk_cache::Entry* corrupted_entry; | 3766 disk_cache::Entry* corrupted_entry; |
| 3765 | 3767 |
| (...skipping 17 matching lines...) Expand all Loading... |
| 3783 // Check that enumeration returns all entries but the corrupt one. | 3785 // Check that enumeration returns all entries but the corrupt one. |
| 3784 std::set<std::string> keys_to_match(key_pool); | 3786 std::set<std::string> keys_to_match(key_pool); |
| 3785 std::unique_ptr<TestIterator> iter = CreateIterator(); | 3787 std::unique_ptr<TestIterator> iter = CreateIterator(); |
| 3786 size_t count = 0; | 3788 size_t count = 0; |
| 3787 ASSERT_TRUE(EnumerateAndMatchKeys(-1, iter.get(), &keys_to_match, &count)); | 3789 ASSERT_TRUE(EnumerateAndMatchKeys(-1, iter.get(), &keys_to_match, &count)); |
| 3788 iter.reset(); | 3790 iter.reset(); |
| 3789 | 3791 |
| 3790 EXPECT_EQ(key_pool.size(), count); | 3792 EXPECT_EQ(key_pool.size(), count); |
| 3791 EXPECT_TRUE(keys_to_match.empty()); | 3793 EXPECT_TRUE(keys_to_match.empty()); |
| 3792 } | 3794 } |
| 3795 #endif |
| 3793 | 3796 |
| 3794 // Tests that enumerations don't leak memory when the backend is destructed | 3797 // Tests that enumerations don't leak memory when the backend is destructed |
| 3795 // mid-enumeration. | 3798 // mid-enumeration. |
| 3796 TEST_F(DiskCacheBackendTest, SimpleCacheEnumerationDestruction) { | 3799 TEST_F(DiskCacheBackendTest, SimpleCacheEnumerationDestruction) { |
| 3797 SetSimpleCacheMode(); | 3800 SetSimpleCacheMode(); |
| 3798 InitCache(); | 3801 InitCache(); |
| 3799 std::set<std::string> key_pool; | 3802 std::set<std::string> key_pool; |
| 3800 ASSERT_TRUE(CreateSetOfRandomEntries(&key_pool)); | 3803 ASSERT_TRUE(CreateSetOfRandomEntries(&key_pool)); |
| 3801 | 3804 |
| 3802 std::unique_ptr<TestIterator> iter = CreateIterator(); | 3805 std::unique_ptr<TestIterator> iter = CreateIterator(); |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3866 // because that would advance the cache directory mtime and invalidate the | 3869 // because that would advance the cache directory mtime and invalidate the |
| 3867 // index. | 3870 // index. |
| 3868 entry2->Doom(); | 3871 entry2->Doom(); |
| 3869 entry2->Close(); | 3872 entry2->Close(); |
| 3870 | 3873 |
| 3871 DisableFirstCleanup(); | 3874 DisableFirstCleanup(); |
| 3872 InitCache(); | 3875 InitCache(); |
| 3873 EXPECT_EQ(disk_cache::SimpleIndex::INITIALIZE_METHOD_LOADED, | 3876 EXPECT_EQ(disk_cache::SimpleIndex::INITIALIZE_METHOD_LOADED, |
| 3874 simple_cache_impl_->index()->init_method()); | 3877 simple_cache_impl_->index()->init_method()); |
| 3875 } | 3878 } |
| OLD | NEW |