| OLD | NEW |
| 1 // Copyright (c) 2006-2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2010 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 #ifndef NET_DISK_CACHE_DISK_CACHE_TEST_BASE_H_ | 5 #ifndef NET_DISK_CACHE_DISK_CACHE_TEST_BASE_H_ |
| 6 #define NET_DISK_CACHE_DISK_CACHE_TEST_BASE_H_ | 6 #define NET_DISK_CACHE_DISK_CACHE_TEST_BASE_H_ |
| 7 | 7 |
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
| 9 #include "base/thread.h" | 9 #include "base/thread.h" |
| 10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 virtual void TearDown(); | 29 virtual void TearDown(); |
| 30 }; | 30 }; |
| 31 | 31 |
| 32 // Provides basic support for cache related tests. | 32 // Provides basic support for cache related tests. |
| 33 class DiskCacheTestWithCache : public DiskCacheTest { | 33 class DiskCacheTestWithCache : public DiskCacheTest { |
| 34 protected: | 34 protected: |
| 35 DiskCacheTestWithCache() | 35 DiskCacheTestWithCache() |
| 36 : cache_(NULL), cache_impl_(NULL), mem_cache_(NULL), mask_(0), size_(0), | 36 : cache_(NULL), cache_impl_(NULL), mem_cache_(NULL), mask_(0), size_(0), |
| 37 memory_only_(false), implementation_(false), force_creation_(false), | 37 memory_only_(false), implementation_(false), force_creation_(false), |
| 38 new_eviction_(false), first_cleanup_(true), integrity_(true), | 38 new_eviction_(false), first_cleanup_(true), integrity_(true), |
| 39 cache_thread_("CacheThread") {} | 39 use_current_thread_(false), cache_thread_("CacheThread") {} |
| 40 | 40 |
| 41 void InitCache(); | 41 void InitCache(); |
| 42 virtual void TearDown(); | 42 virtual void TearDown(); |
| 43 void SimulateCrash(); | 43 void SimulateCrash(); |
| 44 void SetTestMode(); | 44 void SetTestMode(); |
| 45 | 45 |
| 46 void SetMemoryOnlyMode() { | 46 void SetMemoryOnlyMode() { |
| 47 memory_only_ = true; | 47 memory_only_ = true; |
| 48 } | 48 } |
| 49 | 49 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 68 } | 68 } |
| 69 | 69 |
| 70 void DisableFirstCleanup() { | 70 void DisableFirstCleanup() { |
| 71 first_cleanup_ = false; | 71 first_cleanup_ = false; |
| 72 } | 72 } |
| 73 | 73 |
| 74 void DisableIntegrityCheck() { | 74 void DisableIntegrityCheck() { |
| 75 integrity_ = false; | 75 integrity_ = false; |
| 76 } | 76 } |
| 77 | 77 |
| 78 void UseCurrentThread() { |
| 79 use_current_thread_ = true; |
| 80 } |
| 81 |
| 78 // Utility methods to access the cache and wait for each operation to finish. | 82 // Utility methods to access the cache and wait for each operation to finish. |
| 79 int OpenEntry(const std::string& key, disk_cache::Entry** entry); | 83 int OpenEntry(const std::string& key, disk_cache::Entry** entry); |
| 80 int CreateEntry(const std::string& key, disk_cache::Entry** entry); | 84 int CreateEntry(const std::string& key, disk_cache::Entry** entry); |
| 81 int DoomEntry(const std::string& key); | 85 int DoomEntry(const std::string& key); |
| 82 int DoomAllEntries(); | 86 int DoomAllEntries(); |
| 83 int DoomEntriesBetween(const base::Time initial_time, | 87 int DoomEntriesBetween(const base::Time initial_time, |
| 84 const base::Time end_time); | 88 const base::Time end_time); |
| 85 int DoomEntriesSince(const base::Time initial_time); | 89 int DoomEntriesSince(const base::Time initial_time); |
| 86 int OpenNextEntry(void** iter, disk_cache::Entry** next_entry); | 90 int OpenNextEntry(void** iter, disk_cache::Entry** next_entry); |
| 91 void FlushQueueForTest(); |
| 87 | 92 |
| 88 // cache_ will always have a valid object, regardless of how the cache was | 93 // cache_ will always have a valid object, regardless of how the cache was |
| 89 // initialized. The implementation pointers can be NULL. | 94 // initialized. The implementation pointers can be NULL. |
| 90 disk_cache::Backend* cache_; | 95 disk_cache::Backend* cache_; |
| 91 disk_cache::BackendImpl* cache_impl_; | 96 disk_cache::BackendImpl* cache_impl_; |
| 92 disk_cache::MemBackendImpl* mem_cache_; | 97 disk_cache::MemBackendImpl* mem_cache_; |
| 93 | 98 |
| 94 uint32 mask_; | 99 uint32 mask_; |
| 95 int size_; | 100 int size_; |
| 96 bool memory_only_; | 101 bool memory_only_; |
| 97 bool implementation_; | 102 bool implementation_; |
| 98 bool force_creation_; | 103 bool force_creation_; |
| 99 bool new_eviction_; | 104 bool new_eviction_; |
| 100 bool first_cleanup_; | 105 bool first_cleanup_; |
| 101 bool integrity_; | 106 bool integrity_; |
| 107 bool use_current_thread_; |
| 102 // This is intentionally left uninitialized, to be used by any test. | 108 // This is intentionally left uninitialized, to be used by any test. |
| 103 bool success_; | 109 bool success_; |
| 104 | 110 |
| 105 private: | 111 private: |
| 106 void InitMemoryCache(); | 112 void InitMemoryCache(); |
| 107 void InitDiskCache(); | 113 void InitDiskCache(); |
| 108 void InitDiskCacheImpl(const FilePath& path); | 114 void InitDiskCacheImpl(const FilePath& path); |
| 109 | 115 |
| 110 base::Thread cache_thread_; | 116 base::Thread cache_thread_; |
| 111 DISALLOW_COPY_AND_ASSIGN(DiskCacheTestWithCache); | 117 DISALLOW_COPY_AND_ASSIGN(DiskCacheTestWithCache); |
| 112 }; | 118 }; |
| 113 | 119 |
| 114 #endif // NET_DISK_CACHE_DISK_CACHE_TEST_BASE_H_ | 120 #endif // NET_DISK_CACHE_DISK_CACHE_TEST_BASE_H_ |
| OLD | NEW |