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

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

Issue 11275088: Remove implicit scoped_refptr operator T* Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 8 years, 1 month 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
« no previous file with comments | « net/disk_cache/storage_block_unittest.cc ('k') | net/dns/serial_worker.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 // This is a simple application that stress-tests the crash recovery of the disk 5 // This is a simple application that stress-tests the crash recovery of the disk
6 // cache. The main application starts a copy of itself on a loop, checking the 6 // cache. The main application starts a copy of itself on a loop, checking the
7 // exit code of the child process. When the child dies in an unexpected way, 7 // exit code of the child process. When the child dies in an unexpected way,
8 // the main application quits. 8 // the main application quits.
9 9
10 // The child application has two threads: one to exercise the cache in an 10 // The child application has two threads: one to exercise the cache in an
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 FilePath path; 105 FilePath path;
106 PathService::Get(base::DIR_TEMP, &path); 106 PathService::Get(base::DIR_TEMP, &path);
107 path = path.AppendASCII("cache_test_stress"); 107 path = path.AppendASCII("cache_test_stress");
108 108
109 base::Thread cache_thread("CacheThread"); 109 base::Thread cache_thread("CacheThread");
110 if (!cache_thread.StartWithOptions( 110 if (!cache_thread.StartWithOptions(
111 base::Thread::Options(MessageLoop::TYPE_IO, 0))) 111 base::Thread::Options(MessageLoop::TYPE_IO, 0)))
112 return; 112 return;
113 113
114 disk_cache::BackendImpl* cache = 114 disk_cache::BackendImpl* cache =
115 new disk_cache::BackendImpl(path, mask, cache_thread.message_loop_proxy(), 115 new disk_cache::BackendImpl(
116 NULL); 116 path, mask, cache_thread.message_loop_proxy().get(),
117 NULL);
117 cache->SetMaxSize(cache_size); 118 cache->SetMaxSize(cache_size);
118 cache->SetFlags(disk_cache::kNoLoadProtection); 119 cache->SetFlags(disk_cache::kNoLoadProtection);
119 120
120 net::TestCompletionCallback cb; 121 net::TestCompletionCallback cb;
121 int rv = cache->Init(cb.callback()); 122 int rv = cache->Init(cb.callback());
122 123
123 if (cb.GetResult(rv) != net::OK) { 124 if (cb.GetResult(rv) != net::OK) {
124 printf("Unable to initialize cache.\n"); 125 printf("Unable to initialize cache.\n");
125 return; 126 return;
126 } 127 }
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 net::TestCompletionCallback cb; 162 net::TestCompletionCallback cb;
162 rv = cache->OpenEntry(keys[key], &entries[slot], cb.callback()); 163 rv = cache->OpenEntry(keys[key], &entries[slot], cb.callback());
163 if (cb.GetResult(rv) != net::OK) { 164 if (cb.GetResult(rv) != net::OK) {
164 rv = cache->CreateEntry(keys[key], &entries[slot], cb.callback()); 165 rv = cache->CreateEntry(keys[key], &entries[slot], cb.callback());
165 CHECK_EQ(net::OK, cb.GetResult(rv)); 166 CHECK_EQ(net::OK, cb.GetResult(rv));
166 } 167 }
167 168
168 base::snprintf(buffer->data(), kSize, 169 base::snprintf(buffer->data(), kSize,
169 "i: %d iter: %d, size: %d, truncate: %d ", i, iteration, 170 "i: %d iter: %d, size: %d, truncate: %d ", i, iteration,
170 size, truncate ? 1 : 0); 171 size, truncate ? 1 : 0);
171 rv = entries[slot]->WriteData(0, 0, buffer, size, cb.callback(), truncate); 172 rv = entries[slot]->
173 WriteData(0, 0, buffer.get(), size, cb.callback(), truncate);
172 CHECK_EQ(size, cb.GetResult(rv)); 174 CHECK_EQ(size, cb.GetResult(rv));
173 175
174 if (rand() % 100 > 80) { 176 if (rand() % 100 > 80) {
175 key = rand() % kNumKeys; 177 key = rand() % kNumKeys;
176 net::TestCompletionCallback cb2; 178 net::TestCompletionCallback cb2;
177 rv = cache->DoomEntry(keys[key], cb2.callback()); 179 rv = cache->DoomEntry(keys[key], cb2.callback());
178 cb2.GetResult(rv); 180 cb2.GetResult(rv);
179 } 181 }
180 182
181 if (!(i % 100)) 183 if (!(i % 100))
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 long int iteration = strtol(argv[1], &end, 0); 283 long int iteration = strtol(argv[1], &end, 0);
282 284
283 if (!StartCrashThread()) { 285 if (!StartCrashThread()) {
284 printf("failed to start thread\n"); 286 printf("failed to start thread\n");
285 return kError; 287 return kError;
286 } 288 }
287 289
288 StressTheCache(iteration); 290 StressTheCache(iteration);
289 return 0; 291 return 0;
290 } 292 }
OLDNEW
« no previous file with comments | « net/disk_cache/storage_block_unittest.cc ('k') | net/dns/serial_worker.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698