Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(529)

Side by Side Diff: net/disk_cache/disk_cache_test_base.cc

Issue 6263010: More net/ header/implementation method reordering. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 #include "net/disk_cache/disk_cache_test_base.h" 5 #include "net/disk_cache/disk_cache_test_base.h"
6 6
7 #include "net/base/io_buffer.h" 7 #include "net/base/io_buffer.h"
8 #include "net/base/net_errors.h" 8 #include "net/base/net_errors.h"
9 #include "net/base/test_completion_callback.h" 9 #include "net/base/test_completion_callback.h"
10 #include "net/disk_cache/backend_impl.h" 10 #include "net/disk_cache/backend_impl.h"
11 #include "net/disk_cache/disk_cache_test_util.h" 11 #include "net/disk_cache/disk_cache_test_util.h"
12 #include "net/disk_cache/mem_backend_impl.h" 12 #include "net/disk_cache/mem_backend_impl.h"
13 13
14 void DiskCacheTest::TearDown() { 14 void DiskCacheTest::TearDown() {
15 MessageLoop::current()->RunAllPending(); 15 MessageLoop::current()->RunAllPending();
16 } 16 }
17 17
18 void DiskCacheTestWithCache::SetMaxSize(int size) { 18 DiskCacheTestWithCache::DiskCacheTestWithCache()
19 size_ = size; 19 : cache_(NULL),
20 if (cache_impl_) 20 cache_impl_(NULL),
21 EXPECT_TRUE(cache_impl_->SetMaxSize(size)); 21 mem_cache_(NULL),
22 mask_(0),
23 size_(0),
24 type_(net::DISK_CACHE),
25 memory_only_(false),
26 implementation_(false),
27 force_creation_(false),
28 new_eviction_(false),
29 first_cleanup_(true),
30 integrity_(true),
31 use_current_thread_(false),
32 cache_thread_("CacheThread") {
33 }
22 34
23 if (mem_cache_) 35 DiskCacheTestWithCache::~DiskCacheTestWithCache() {}
24 EXPECT_TRUE(mem_cache_->SetMaxSize(size));
25 }
26 36
27 void DiskCacheTestWithCache::InitCache() { 37 void DiskCacheTestWithCache::InitCache() {
28 if (mask_ || new_eviction_) 38 if (mask_ || new_eviction_)
29 implementation_ = true; 39 implementation_ = true;
30 40
31 if (memory_only_) 41 if (memory_only_)
32 InitMemoryCache(); 42 InitMemoryCache();
33 else 43 else
34 InitDiskCache(); 44 InitDiskCache();
35 45
36 ASSERT_TRUE(NULL != cache_); 46 ASSERT_TRUE(NULL != cache_);
37 if (first_cleanup_) 47 if (first_cleanup_)
38 ASSERT_EQ(0, cache_->GetEntryCount()); 48 ASSERT_EQ(0, cache_->GetEntryCount());
39 } 49 }
40 50
41 void DiskCacheTestWithCache::InitMemoryCache() {
42 if (!implementation_) {
43 cache_ = disk_cache::MemBackendImpl::CreateBackend(size_);
44 return;
45 }
46
47 mem_cache_ = new disk_cache::MemBackendImpl();
48 cache_ = mem_cache_;
49 ASSERT_TRUE(NULL != cache_);
50
51 if (size_)
52 EXPECT_TRUE(mem_cache_->SetMaxSize(size_));
53
54 ASSERT_TRUE(mem_cache_->Init());
55 }
56
57 void DiskCacheTestWithCache::InitDiskCache() {
58 FilePath path = GetCacheFilePath();
59 if (first_cleanup_)
60 ASSERT_TRUE(DeleteCache(path));
61
62 if (!cache_thread_.IsRunning()) {
63 EXPECT_TRUE(cache_thread_.StartWithOptions(
64 base::Thread::Options(MessageLoop::TYPE_IO, 0)));
65 }
66 ASSERT_TRUE(cache_thread_.message_loop() != NULL);
67
68 if (implementation_)
69 return InitDiskCacheImpl(path);
70
71 scoped_refptr<base::MessageLoopProxy> thread =
72 use_current_thread_ ? base::MessageLoopProxy::CreateForCurrentThread() :
73 cache_thread_.message_loop_proxy();
74
75 TestCompletionCallback cb;
76 int rv = disk_cache::BackendImpl::CreateBackend(
77 path, force_creation_, size_, type_,
78 disk_cache::kNoRandom, thread, NULL, &cache_, &cb);
79 ASSERT_EQ(net::OK, cb.GetResult(rv));
80 }
81
82 void DiskCacheTestWithCache::InitDiskCacheImpl(const FilePath& path) {
83 scoped_refptr<base::MessageLoopProxy> thread =
84 use_current_thread_ ? base::MessageLoopProxy::CreateForCurrentThread() :
85 cache_thread_.message_loop_proxy();
86 if (mask_)
87 cache_impl_ = new disk_cache::BackendImpl(path, mask_, thread, NULL);
88 else
89 cache_impl_ = new disk_cache::BackendImpl(path, thread, NULL);
90
91 cache_ = cache_impl_;
92 ASSERT_TRUE(NULL != cache_);
93
94 if (size_)
95 EXPECT_TRUE(cache_impl_->SetMaxSize(size_));
96
97 if (new_eviction_)
98 cache_impl_->SetNewEviction();
99
100 cache_impl_->SetType(type_);
101 cache_impl_->SetFlags(disk_cache::kNoRandom);
102 TestCompletionCallback cb;
103 int rv = cache_impl_->Init(&cb);
104 ASSERT_EQ(net::OK, cb.GetResult(rv));
105 }
106
107 void DiskCacheTestWithCache::TearDown() {
108 MessageLoop::current()->RunAllPending();
109 delete cache_;
110 if (cache_thread_.IsRunning())
111 cache_thread_.Stop();
112
113 if (!memory_only_ && integrity_) {
114 FilePath path = GetCacheFilePath();
115 EXPECT_TRUE(CheckCacheIntegrity(path, new_eviction_));
116 }
117
118 PlatformTest::TearDown();
119 }
120
121 // We are expected to leak memory when simulating crashes. 51 // We are expected to leak memory when simulating crashes.
122 void DiskCacheTestWithCache::SimulateCrash() { 52 void DiskCacheTestWithCache::SimulateCrash() {
123 ASSERT_TRUE(implementation_ && !memory_only_); 53 ASSERT_TRUE(implementation_ && !memory_only_);
124 TestCompletionCallback cb; 54 TestCompletionCallback cb;
125 int rv = cache_impl_->FlushQueueForTest(&cb); 55 int rv = cache_impl_->FlushQueueForTest(&cb);
126 ASSERT_EQ(net::OK, cb.GetResult(rv)); 56 ASSERT_EQ(net::OK, cb.GetResult(rv));
127 cache_impl_->ClearRefCountForTest(); 57 cache_impl_->ClearRefCountForTest();
128 58
129 delete cache_impl_; 59 delete cache_impl_;
130 FilePath path = GetCacheFilePath(); 60 FilePath path = GetCacheFilePath();
131 EXPECT_TRUE(CheckCacheIntegrity(path, new_eviction_)); 61 EXPECT_TRUE(CheckCacheIntegrity(path, new_eviction_));
132 62
133 InitDiskCacheImpl(path); 63 InitDiskCacheImpl(path);
134 } 64 }
135 65
136 void DiskCacheTestWithCache::SetTestMode() { 66 void DiskCacheTestWithCache::SetTestMode() {
137 ASSERT_TRUE(implementation_ && !memory_only_); 67 ASSERT_TRUE(implementation_ && !memory_only_);
138 cache_impl_->SetUnitTestMode(); 68 cache_impl_->SetUnitTestMode();
139 } 69 }
140 70
71 void DiskCacheTestWithCache::SetMaxSize(int size) {
72 size_ = size;
73 if (cache_impl_)
74 EXPECT_TRUE(cache_impl_->SetMaxSize(size));
75
76 if (mem_cache_)
77 EXPECT_TRUE(mem_cache_->SetMaxSize(size));
78 }
79
141 int DiskCacheTestWithCache::OpenEntry(const std::string& key, 80 int DiskCacheTestWithCache::OpenEntry(const std::string& key,
142 disk_cache::Entry** entry) { 81 disk_cache::Entry** entry) {
143 TestCompletionCallback cb; 82 TestCompletionCallback cb;
144 int rv = cache_->OpenEntry(key, entry, &cb); 83 int rv = cache_->OpenEntry(key, entry, &cb);
145 return cb.GetResult(rv); 84 return cb.GetResult(rv);
146 } 85 }
147 86
148 int DiskCacheTestWithCache::CreateEntry(const std::string& key, 87 int DiskCacheTestWithCache::CreateEntry(const std::string& key,
149 disk_cache::Entry** entry) { 88 disk_cache::Entry** entry) {
150 TestCompletionCallback cb; 89 TestCompletionCallback cb;
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 return cb.GetResult(rv); 168 return cb.GetResult(rv);
230 } 169 }
231 170
232 int DiskCacheTestWithCache::WriteSparseData(disk_cache::Entry* entry, 171 int DiskCacheTestWithCache::WriteSparseData(disk_cache::Entry* entry,
233 int64 offset, 172 int64 offset,
234 net::IOBuffer* buf, int len) { 173 net::IOBuffer* buf, int len) {
235 TestCompletionCallback cb; 174 TestCompletionCallback cb;
236 int rv = entry->WriteSparseData(offset, buf, len, &cb); 175 int rv = entry->WriteSparseData(offset, buf, len, &cb);
237 return cb.GetResult(rv); 176 return cb.GetResult(rv);
238 } 177 }
178
179 void DiskCacheTestWithCache::TearDown() {
180 MessageLoop::current()->RunAllPending();
181 delete cache_;
182 if (cache_thread_.IsRunning())
183 cache_thread_.Stop();
184
185 if (!memory_only_ && integrity_) {
186 FilePath path = GetCacheFilePath();
187 EXPECT_TRUE(CheckCacheIntegrity(path, new_eviction_));
188 }
189
190 PlatformTest::TearDown();
191 }
192
193 void DiskCacheTestWithCache::InitMemoryCache() {
194 if (!implementation_) {
195 cache_ = disk_cache::MemBackendImpl::CreateBackend(size_);
196 return;
197 }
198
199 mem_cache_ = new disk_cache::MemBackendImpl();
200 cache_ = mem_cache_;
201 ASSERT_TRUE(NULL != cache_);
202
203 if (size_)
204 EXPECT_TRUE(mem_cache_->SetMaxSize(size_));
205
206 ASSERT_TRUE(mem_cache_->Init());
207 }
208
209 void DiskCacheTestWithCache::InitDiskCache() {
210 FilePath path = GetCacheFilePath();
211 if (first_cleanup_)
212 ASSERT_TRUE(DeleteCache(path));
213
214 if (!cache_thread_.IsRunning()) {
215 EXPECT_TRUE(cache_thread_.StartWithOptions(
216 base::Thread::Options(MessageLoop::TYPE_IO, 0)));
217 }
218 ASSERT_TRUE(cache_thread_.message_loop() != NULL);
219
220 if (implementation_)
221 return InitDiskCacheImpl(path);
222
223 scoped_refptr<base::MessageLoopProxy> thread =
224 use_current_thread_ ? base::MessageLoopProxy::CreateForCurrentThread() :
225 cache_thread_.message_loop_proxy();
226
227 TestCompletionCallback cb;
228 int rv = disk_cache::BackendImpl::CreateBackend(
229 path, force_creation_, size_, type_,
230 disk_cache::kNoRandom, thread, NULL, &cache_, &cb);
231 ASSERT_EQ(net::OK, cb.GetResult(rv));
232 }
233
234 void DiskCacheTestWithCache::InitDiskCacheImpl(const FilePath& path) {
235 scoped_refptr<base::MessageLoopProxy> thread =
236 use_current_thread_ ? base::MessageLoopProxy::CreateForCurrentThread() :
237 cache_thread_.message_loop_proxy();
238 if (mask_)
239 cache_impl_ = new disk_cache::BackendImpl(path, mask_, thread, NULL);
240 else
241 cache_impl_ = new disk_cache::BackendImpl(path, thread, NULL);
242
243 cache_ = cache_impl_;
244 ASSERT_TRUE(NULL != cache_);
245
246 if (size_)
247 EXPECT_TRUE(cache_impl_->SetMaxSize(size_));
248
249 if (new_eviction_)
250 cache_impl_->SetNewEviction();
251
252 cache_impl_->SetType(type_);
253 cache_impl_->SetFlags(disk_cache::kNoRandom);
254 TestCompletionCallback cb;
255 int rv = cache_impl_->Init(&cb);
256 ASSERT_EQ(net::OK, cb.GetResult(rv));
257 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698