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

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

Issue 4192012: Convert implicit scoped_refptr constructor calls to explicit ones, part 1 (Closed) Base URL: http://git.chromium.org/git/chromium.git
Patch Set: fix presubmit Created 10 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 | Annotate | Revision Log
« no previous file with comments | « net/disk_cache/backend_impl.cc ('k') | net/disk_cache/disk_cache_perftest.cc » ('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) 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 "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/file_util.h" 6 #include "base/file_util.h"
7 #include "base/platform_thread.h" 7 #include "base/platform_thread.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "base/stringprintf.h" 9 #include "base/stringprintf.h"
10 #include "base/third_party/dynamic_annotations/dynamic_annotations.h" 10 #include "base/third_party/dynamic_annotations/dynamic_annotations.h"
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 223
224 MessageLoop::current()->RunAllPending(); 224 MessageLoop::current()->RunAllPending();
225 } 225 }
226 226
227 TEST_F(DiskCacheBackendTest, ExternalFiles) { 227 TEST_F(DiskCacheBackendTest, ExternalFiles) {
228 InitCache(); 228 InitCache();
229 // First, lets create a file on the folder. 229 // First, lets create a file on the folder.
230 FilePath filename = GetCacheFilePath().AppendASCII("f_000001"); 230 FilePath filename = GetCacheFilePath().AppendASCII("f_000001");
231 231
232 const int kSize = 50; 232 const int kSize = 50;
233 scoped_refptr<net::IOBuffer> buffer1 = new net::IOBuffer(kSize); 233 scoped_refptr<net::IOBuffer> buffer1(new net::IOBuffer(kSize));
234 CacheTestFillBuffer(buffer1->data(), kSize, false); 234 CacheTestFillBuffer(buffer1->data(), kSize, false);
235 ASSERT_EQ(kSize, file_util::WriteFile(filename, buffer1->data(), kSize)); 235 ASSERT_EQ(kSize, file_util::WriteFile(filename, buffer1->data(), kSize));
236 236
237 // Now let's create a file with the cache. 237 // Now let's create a file with the cache.
238 disk_cache::Entry* entry; 238 disk_cache::Entry* entry;
239 ASSERT_EQ(net::OK, CreateEntry("key", &entry)); 239 ASSERT_EQ(net::OK, CreateEntry("key", &entry));
240 ASSERT_EQ(0, WriteData(entry, 0, 20000, buffer1, 0, false)); 240 ASSERT_EQ(0, WriteData(entry, 0, 20000, buffer1, 0, false));
241 entry->Close(); 241 entry->Close();
242 242
243 // And verify that the first file is still there. 243 // And verify that the first file is still there.
244 scoped_refptr<net::IOBuffer> buffer2 = new net::IOBuffer(kSize); 244 scoped_refptr<net::IOBuffer> buffer2(new net::IOBuffer(kSize));
245 ASSERT_EQ(kSize, file_util::ReadFile(filename, buffer2->data(), kSize)); 245 ASSERT_EQ(kSize, file_util::ReadFile(filename, buffer2->data(), kSize));
246 EXPECT_EQ(0, memcmp(buffer1->data(), buffer2->data(), kSize)); 246 EXPECT_EQ(0, memcmp(buffer1->data(), buffer2->data(), kSize));
247 } 247 }
248 248
249 // Tests that we deal with file-level pending operations at destruction time. 249 // Tests that we deal with file-level pending operations at destruction time.
250 TEST_F(DiskCacheTest, ShutdownWithPendingIO) { 250 TEST_F(DiskCacheTest, ShutdownWithPendingIO) {
251 TestCompletionCallback cb; 251 TestCompletionCallback cb;
252 252
253 { 253 {
254 FilePath path = GetCacheFilePath(); 254 FilePath path = GetCacheFilePath();
255 ASSERT_TRUE(DeleteCache(path)); 255 ASSERT_TRUE(DeleteCache(path));
256 base::Thread cache_thread("CacheThread"); 256 base::Thread cache_thread("CacheThread");
257 ASSERT_TRUE(cache_thread.StartWithOptions( 257 ASSERT_TRUE(cache_thread.StartWithOptions(
258 base::Thread::Options(MessageLoop::TYPE_IO, 0))); 258 base::Thread::Options(MessageLoop::TYPE_IO, 0)));
259 259
260 disk_cache::Backend* cache; 260 disk_cache::Backend* cache;
261 int rv = disk_cache::BackendImpl::CreateBackend( 261 int rv = disk_cache::BackendImpl::CreateBackend(
262 path, false, 0, net::DISK_CACHE, disk_cache::kNoRandom, 262 path, false, 0, net::DISK_CACHE, disk_cache::kNoRandom,
263 base::MessageLoopProxy::CreateForCurrentThread(), &cache, &cb); 263 base::MessageLoopProxy::CreateForCurrentThread(), &cache, &cb);
264 ASSERT_EQ(net::OK, cb.GetResult(rv)); 264 ASSERT_EQ(net::OK, cb.GetResult(rv));
265 265
266 disk_cache::EntryImpl* entry; 266 disk_cache::EntryImpl* entry;
267 rv = cache->CreateEntry("some key", 267 rv = cache->CreateEntry("some key",
268 reinterpret_cast<disk_cache::Entry**>(&entry), &cb); 268 reinterpret_cast<disk_cache::Entry**>(&entry), &cb);
269 ASSERT_EQ(net::OK, cb.GetResult(rv)); 269 ASSERT_EQ(net::OK, cb.GetResult(rv));
270 270
271 const int kSize = 25000; 271 const int kSize = 25000;
272 scoped_refptr<net::IOBuffer> buffer = new net::IOBuffer(kSize); 272 scoped_refptr<net::IOBuffer> buffer(new net::IOBuffer(kSize));
273 CacheTestFillBuffer(buffer->data(), kSize, false); 273 CacheTestFillBuffer(buffer->data(), kSize, false);
274 274
275 for (int i = 0; i < 10 * 1024 * 1024; i += 64 * 1024) { 275 for (int i = 0; i < 10 * 1024 * 1024; i += 64 * 1024) {
276 // We are using the current thread as the cache thread because we want to 276 // We are using the current thread as the cache thread because we want to
277 // be able to call directly this method to make sure that the OS (instead 277 // be able to call directly this method to make sure that the OS (instead
278 // of us switching thread) is returning IO pending. 278 // of us switching thread) is returning IO pending.
279 rv = entry->WriteDataImpl(0, i, buffer, kSize, &cb, false); 279 rv = entry->WriteDataImpl(0, i, buffer, kSize, &cb, false);
280 if (rv == net::ERR_IO_PENDING) 280 if (rv == net::ERR_IO_PENDING)
281 break; 281 break;
282 EXPECT_EQ(kSize, rv); 282 EXPECT_EQ(kSize, rv);
(...skipping 29 matching lines...) Expand all
312 int rv = disk_cache::BackendImpl::CreateBackend( 312 int rv = disk_cache::BackendImpl::CreateBackend(
313 path, false, 0, net::DISK_CACHE, disk_cache::kNoRandom, 313 path, false, 0, net::DISK_CACHE, disk_cache::kNoRandom,
314 cache_thread.message_loop_proxy(), &cache, &cb); 314 cache_thread.message_loop_proxy(), &cache, &cb);
315 ASSERT_EQ(net::OK, cb.GetResult(rv)); 315 ASSERT_EQ(net::OK, cb.GetResult(rv));
316 316
317 disk_cache::Entry* entry; 317 disk_cache::Entry* entry;
318 rv = cache->CreateEntry("some key", &entry, &cb); 318 rv = cache->CreateEntry("some key", &entry, &cb);
319 ASSERT_EQ(net::OK, cb.GetResult(rv)); 319 ASSERT_EQ(net::OK, cb.GetResult(rv));
320 320
321 const int kSize = 25000; 321 const int kSize = 25000;
322 scoped_refptr<net::IOBuffer> buffer = new net::IOBuffer(kSize); 322 scoped_refptr<net::IOBuffer> buffer(new net::IOBuffer(kSize));
323 CacheTestFillBuffer(buffer->data(), kSize, false); 323 CacheTestFillBuffer(buffer->data(), kSize, false);
324 324
325 rv = entry->WriteData(0, 0, buffer, kSize, &cb, false); 325 rv = entry->WriteData(0, 0, buffer, kSize, &cb, false);
326 EXPECT_EQ(net::ERR_IO_PENDING, rv); 326 EXPECT_EQ(net::ERR_IO_PENDING, rv);
327 327
328 entry->Close(); 328 entry->Close();
329 329
330 // The cache destructor will see two pending operations here. 330 // The cache destructor will see two pending operations here.
331 delete cache; 331 delete cache;
332 } 332 }
(...skipping 26 matching lines...) Expand all
359 SetDirectMode(); 359 SetDirectMode();
360 const int cache_size = 0x10000; // 64 kB 360 const int cache_size = 0x10000; // 64 kB
361 SetMaxSize(cache_size); 361 SetMaxSize(cache_size);
362 InitCache(); 362 InitCache();
363 363
364 std::string first("some key"); 364 std::string first("some key");
365 std::string second("something else"); 365 std::string second("something else");
366 disk_cache::Entry* entry; 366 disk_cache::Entry* entry;
367 ASSERT_EQ(net::OK, CreateEntry(first, &entry)); 367 ASSERT_EQ(net::OK, CreateEntry(first, &entry));
368 368
369 scoped_refptr<net::IOBuffer> buffer = new net::IOBuffer(cache_size); 369 scoped_refptr<net::IOBuffer> buffer(new net::IOBuffer(cache_size));
370 memset(buffer->data(), 0, cache_size); 370 memset(buffer->data(), 0, cache_size);
371 EXPECT_EQ(cache_size / 10, WriteData(entry, 0, 0, buffer, cache_size / 10, 371 EXPECT_EQ(cache_size / 10, WriteData(entry, 0, 0, buffer, cache_size / 10,
372 false)) << "normal file"; 372 false)) << "normal file";
373 373
374 EXPECT_EQ(net::ERR_FAILED, WriteData(entry, 1, 0, buffer, cache_size / 5, 374 EXPECT_EQ(net::ERR_FAILED, WriteData(entry, 1, 0, buffer, cache_size / 5,
375 false)) << "file size above the limit"; 375 false)) << "file size above the limit";
376 376
377 // By doubling the total size, we make this file cacheable. 377 // By doubling the total size, we make this file cacheable.
378 SetMaxSize(cache_size * 2); 378 SetMaxSize(cache_size * 2);
379 EXPECT_EQ(cache_size / 5, WriteData(entry, 1, 0, buffer, cache_size / 5, 379 EXPECT_EQ(cache_size / 5, WriteData(entry, 1, 0, buffer, cache_size / 5,
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 // Before looking for invalid entries, let's check a valid entry. 490 // Before looking for invalid entries, let's check a valid entry.
491 void DiskCacheBackendTest::BackendValidEntry() { 491 void DiskCacheBackendTest::BackendValidEntry() {
492 SetDirectMode(); 492 SetDirectMode();
493 InitCache(); 493 InitCache();
494 494
495 std::string key("Some key"); 495 std::string key("Some key");
496 disk_cache::Entry* entry; 496 disk_cache::Entry* entry;
497 ASSERT_EQ(net::OK, CreateEntry(key, &entry)); 497 ASSERT_EQ(net::OK, CreateEntry(key, &entry));
498 498
499 const int kSize = 50; 499 const int kSize = 50;
500 scoped_refptr<net::IOBuffer> buffer1 = new net::IOBuffer(kSize); 500 scoped_refptr<net::IOBuffer> buffer1(new net::IOBuffer(kSize));
501 memset(buffer1->data(), 0, kSize); 501 memset(buffer1->data(), 0, kSize);
502 base::strlcpy(buffer1->data(), "And the data to save", kSize); 502 base::strlcpy(buffer1->data(), "And the data to save", kSize);
503 EXPECT_EQ(kSize, WriteData(entry, 0, 0, buffer1, kSize, false)); 503 EXPECT_EQ(kSize, WriteData(entry, 0, 0, buffer1, kSize, false));
504 entry->Close(); 504 entry->Close();
505 SimulateCrash(); 505 SimulateCrash();
506 506
507 ASSERT_EQ(net::OK, OpenEntry(key, &entry)); 507 ASSERT_EQ(net::OK, OpenEntry(key, &entry));
508 508
509 scoped_refptr<net::IOBuffer> buffer2 = new net::IOBuffer(kSize); 509 scoped_refptr<net::IOBuffer> buffer2(new net::IOBuffer(kSize));
510 memset(buffer2->data(), 0, kSize); 510 memset(buffer2->data(), 0, kSize);
511 EXPECT_EQ(kSize, ReadData(entry, 0, 0, buffer2, kSize)); 511 EXPECT_EQ(kSize, ReadData(entry, 0, 0, buffer2, kSize));
512 entry->Close(); 512 entry->Close();
513 EXPECT_STREQ(buffer1->data(), buffer2->data()); 513 EXPECT_STREQ(buffer1->data(), buffer2->data());
514 } 514 }
515 515
516 TEST_F(DiskCacheBackendTest, ValidEntry) { 516 TEST_F(DiskCacheBackendTest, ValidEntry) {
517 BackendValidEntry(); 517 BackendValidEntry();
518 } 518 }
519 519
520 TEST_F(DiskCacheBackendTest, NewEvictionValidEntry) { 520 TEST_F(DiskCacheBackendTest, NewEvictionValidEntry) {
521 SetNewEviction(); 521 SetNewEviction();
522 BackendValidEntry(); 522 BackendValidEntry();
523 } 523 }
524 524
525 // The same logic of the previous test (ValidEntry), but this time force the 525 // The same logic of the previous test (ValidEntry), but this time force the
526 // entry to be invalid, simulating a crash in the middle. 526 // entry to be invalid, simulating a crash in the middle.
527 // We'll be leaking memory from this test. 527 // We'll be leaking memory from this test.
528 void DiskCacheBackendTest::BackendInvalidEntry() { 528 void DiskCacheBackendTest::BackendInvalidEntry() {
529 // Use the implementation directly... we need to simulate a crash. 529 // Use the implementation directly... we need to simulate a crash.
530 SetDirectMode(); 530 SetDirectMode();
531 InitCache(); 531 InitCache();
532 532
533 std::string key("Some key"); 533 std::string key("Some key");
534 disk_cache::Entry* entry; 534 disk_cache::Entry* entry;
535 ASSERT_EQ(net::OK, CreateEntry(key, &entry)); 535 ASSERT_EQ(net::OK, CreateEntry(key, &entry));
536 536
537 const int kSize = 50; 537 const int kSize = 50;
538 scoped_refptr<net::IOBuffer> buffer = new net::IOBuffer(kSize); 538 scoped_refptr<net::IOBuffer> buffer(new net::IOBuffer(kSize));
539 memset(buffer->data(), 0, kSize); 539 memset(buffer->data(), 0, kSize);
540 base::strlcpy(buffer->data(), "And the data to save", kSize); 540 base::strlcpy(buffer->data(), "And the data to save", kSize);
541 EXPECT_EQ(kSize, WriteData(entry, 0, 0, buffer, kSize, false)); 541 EXPECT_EQ(kSize, WriteData(entry, 0, 0, buffer, kSize, false));
542 SimulateCrash(); 542 SimulateCrash();
543 543
544 EXPECT_NE(net::OK, OpenEntry(key, &entry)); 544 EXPECT_NE(net::OK, OpenEntry(key, &entry));
545 EXPECT_EQ(0, cache_->GetEntryCount()); 545 EXPECT_EQ(0, cache_->GetEntryCount());
546 } 546 }
547 547
548 // This and the other intentionally leaky tests below are excluded from 548 // This and the other intentionally leaky tests below are excluded from
(...skipping 23 matching lines...) Expand all
572 void DiskCacheBackendTest::BackendInvalidEntryRead() { 572 void DiskCacheBackendTest::BackendInvalidEntryRead() {
573 // Use the implementation directly... we need to simulate a crash. 573 // Use the implementation directly... we need to simulate a crash.
574 SetDirectMode(); 574 SetDirectMode();
575 InitCache(); 575 InitCache();
576 576
577 std::string key("Some key"); 577 std::string key("Some key");
578 disk_cache::Entry* entry; 578 disk_cache::Entry* entry;
579 ASSERT_EQ(net::OK, CreateEntry(key, &entry)); 579 ASSERT_EQ(net::OK, CreateEntry(key, &entry));
580 580
581 const int kSize = 50; 581 const int kSize = 50;
582 scoped_refptr<net::IOBuffer> buffer = new net::IOBuffer(kSize); 582 scoped_refptr<net::IOBuffer> buffer(new net::IOBuffer(kSize));
583 memset(buffer->data(), 0, kSize); 583 memset(buffer->data(), 0, kSize);
584 base::strlcpy(buffer->data(), "And the data to save", kSize); 584 base::strlcpy(buffer->data(), "And the data to save", kSize);
585 EXPECT_EQ(kSize, WriteData(entry, 0, 0, buffer, kSize, false)); 585 EXPECT_EQ(kSize, WriteData(entry, 0, 0, buffer, kSize, false));
586 entry->Close(); 586 entry->Close();
587 ASSERT_EQ(net::OK, OpenEntry(key, &entry)); 587 ASSERT_EQ(net::OK, OpenEntry(key, &entry));
588 EXPECT_EQ(kSize, ReadData(entry, 0, 0, buffer, kSize)); 588 EXPECT_EQ(kSize, ReadData(entry, 0, 0, buffer, kSize));
589 589
590 SimulateCrash(); 590 SimulateCrash();
591 591
592 if (type_ == net::APP_CACHE) { 592 if (type_ == net::APP_CACHE) {
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
690 690
691 const int kSize = 0x3000; // 12 kB 691 const int kSize = 0x3000; // 12 kB
692 SetMaxSize(kSize * 10); 692 SetMaxSize(kSize * 10);
693 InitCache(); 693 InitCache();
694 694
695 std::string first("some key"); 695 std::string first("some key");
696 std::string second("something else"); 696 std::string second("something else");
697 disk_cache::Entry* entry; 697 disk_cache::Entry* entry;
698 ASSERT_EQ(net::OK, CreateEntry(first, &entry)); 698 ASSERT_EQ(net::OK, CreateEntry(first, &entry));
699 699
700 scoped_refptr<net::IOBuffer> buffer = new net::IOBuffer(kSize); 700 scoped_refptr<net::IOBuffer> buffer(new net::IOBuffer(kSize));
701 memset(buffer->data(), 0, kSize); 701 memset(buffer->data(), 0, kSize);
702 EXPECT_EQ(kSize, WriteData(entry, 0, 0, buffer, kSize, false)); 702 EXPECT_EQ(kSize, WriteData(entry, 0, 0, buffer, kSize, false));
703 703
704 // Simulate a crash. 704 // Simulate a crash.
705 SimulateCrash(); 705 SimulateCrash();
706 706
707 ASSERT_EQ(net::OK, CreateEntry(second, &entry)); 707 ASSERT_EQ(net::OK, CreateEntry(second, &entry));
708 EXPECT_EQ(kSize, WriteData(entry, 0, 0, buffer, kSize, false)); 708 EXPECT_EQ(kSize, WriteData(entry, 0, 0, buffer, kSize, false));
709 709
710 EXPECT_EQ(2, cache_->GetEntryCount()); 710 EXPECT_EQ(2, cache_->GetEntryCount());
(...skipping 30 matching lines...) Expand all
741 // We'll be leaking memory from this test. 741 // We'll be leaking memory from this test.
742 void DiskCacheBackendTest::BackendTrimInvalidEntry2() { 742 void DiskCacheBackendTest::BackendTrimInvalidEntry2() {
743 // Use the implementation directly... we need to simulate a crash. 743 // Use the implementation directly... we need to simulate a crash.
744 SetDirectMode(); 744 SetDirectMode();
745 SetMask(0xf); // 16-entry table. 745 SetMask(0xf); // 16-entry table.
746 746
747 const int kSize = 0x3000; // 12 kB 747 const int kSize = 0x3000; // 12 kB
748 SetMaxSize(kSize * 40); 748 SetMaxSize(kSize * 40);
749 InitCache(); 749 InitCache();
750 750
751 scoped_refptr<net::IOBuffer> buffer = new net::IOBuffer(kSize); 751 scoped_refptr<net::IOBuffer> buffer(new net::IOBuffer(kSize));
752 memset(buffer->data(), 0, kSize); 752 memset(buffer->data(), 0, kSize);
753 disk_cache::Entry* entry; 753 disk_cache::Entry* entry;
754 754
755 // Writing 32 entries to this cache chains most of them. 755 // Writing 32 entries to this cache chains most of them.
756 for (int i = 0; i < 32; i++) { 756 for (int i = 0; i < 32; i++) {
757 std::string key(base::StringPrintf("some key %d", i)); 757 std::string key(base::StringPrintf("some key %d", i));
758 ASSERT_EQ(net::OK, CreateEntry(key, &entry)); 758 ASSERT_EQ(net::OK, CreateEntry(key, &entry));
759 EXPECT_EQ(kSize, WriteData(entry, 0, 0, buffer, kSize, false)); 759 EXPECT_EQ(kSize, WriteData(entry, 0, 0, buffer, kSize, false));
760 entry->Close(); 760 entry->Close();
761 ASSERT_EQ(net::OK, OpenEntry(key, &entry)); 761 ASSERT_EQ(net::OK, OpenEntry(key, &entry));
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
933 void DiskCacheBackendTest::BackendInvalidEntryEnumeration() { 933 void DiskCacheBackendTest::BackendInvalidEntryEnumeration() {
934 // Use the implementation directly... we need to simulate a crash. 934 // Use the implementation directly... we need to simulate a crash.
935 SetDirectMode(); 935 SetDirectMode();
936 InitCache(); 936 InitCache();
937 937
938 std::string key("Some key"); 938 std::string key("Some key");
939 disk_cache::Entry *entry, *entry1, *entry2; 939 disk_cache::Entry *entry, *entry1, *entry2;
940 ASSERT_EQ(net::OK, CreateEntry(key, &entry1)); 940 ASSERT_EQ(net::OK, CreateEntry(key, &entry1));
941 941
942 const int kSize = 50; 942 const int kSize = 50;
943 scoped_refptr<net::IOBuffer> buffer1 = new net::IOBuffer(kSize); 943 scoped_refptr<net::IOBuffer> buffer1(new net::IOBuffer(kSize));
944 memset(buffer1->data(), 0, kSize); 944 memset(buffer1->data(), 0, kSize);
945 base::strlcpy(buffer1->data(), "And the data to save", kSize); 945 base::strlcpy(buffer1->data(), "And the data to save", kSize);
946 EXPECT_EQ(kSize, WriteData(entry1, 0, 0, buffer1, kSize, false)); 946 EXPECT_EQ(kSize, WriteData(entry1, 0, 0, buffer1, kSize, false));
947 entry1->Close(); 947 entry1->Close();
948 ASSERT_EQ(net::OK, OpenEntry(key, &entry1)); 948 ASSERT_EQ(net::OK, OpenEntry(key, &entry1));
949 EXPECT_EQ(kSize, ReadData(entry1, 0, 0, buffer1, kSize)); 949 EXPECT_EQ(kSize, ReadData(entry1, 0, 0, buffer1, kSize));
950 950
951 std::string key2("Another key"); 951 std::string key2("Another key");
952 ASSERT_EQ(net::OK, CreateEntry(key2, &entry2)); 952 ASSERT_EQ(net::OK, CreateEntry(key2, &entry2));
953 entry2->Close(); 953 entry2->Close();
(...skipping 613 matching lines...) Expand 10 before | Expand all | Expand 10 after
1567 char key2[2000]; 1567 char key2[2000];
1568 char key3[20000]; 1568 char key3[20000];
1569 CacheTestFillBuffer(key2, sizeof(key2), true); 1569 CacheTestFillBuffer(key2, sizeof(key2), true);
1570 CacheTestFillBuffer(key3, sizeof(key3), true); 1570 CacheTestFillBuffer(key3, sizeof(key3), true);
1571 key2[sizeof(key2) - 1] = '\0'; 1571 key2[sizeof(key2) - 1] = '\0';
1572 key3[sizeof(key3) - 1] = '\0'; 1572 key3[sizeof(key3) - 1] = '\0';
1573 ASSERT_EQ(net::OK, CreateEntry(key2, &entry2)); 1573 ASSERT_EQ(net::OK, CreateEntry(key2, &entry2));
1574 ASSERT_EQ(net::OK, CreateEntry(key3, &entry3)); 1574 ASSERT_EQ(net::OK, CreateEntry(key3, &entry3));
1575 1575
1576 const int kBufSize = 20000; 1576 const int kBufSize = 20000;
1577 scoped_refptr<net::IOBuffer> buf = new net::IOBuffer(kBufSize); 1577 scoped_refptr<net::IOBuffer> buf(new net::IOBuffer(kBufSize));
1578 memset(buf->data(), 0, kBufSize); 1578 memset(buf->data(), 0, kBufSize);
1579 EXPECT_EQ(100, WriteData(entry2, 0, 0, buf, 100, false)); 1579 EXPECT_EQ(100, WriteData(entry2, 0, 0, buf, 100, false));
1580 EXPECT_EQ(kBufSize, WriteData(entry3, 0, 0, buf, kBufSize, false)); 1580 EXPECT_EQ(kBufSize, WriteData(entry3, 0, 0, buf, kBufSize, false));
1581 1581
1582 // This line should disable the cache but not delete it. 1582 // This line should disable the cache but not delete it.
1583 EXPECT_NE(net::OK, OpenNextEntry(&iter, &entry4)); 1583 EXPECT_NE(net::OK, OpenNextEntry(&iter, &entry4));
1584 EXPECT_EQ(4, cache_->GetEntryCount()); 1584 EXPECT_EQ(4, cache_->GetEntryCount());
1585 1585
1586 EXPECT_NE(net::OK, CreateEntry("cache is disabled", &entry4)); 1586 EXPECT_NE(net::OK, CreateEntry("cache is disabled", &entry4));
1587 1587
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
1833 // Make sure that we keep the total memory used by the internal buffers under 1833 // Make sure that we keep the total memory used by the internal buffers under
1834 // control. 1834 // control.
1835 TEST_F(DiskCacheBackendTest, TotalBuffersSize1) { 1835 TEST_F(DiskCacheBackendTest, TotalBuffersSize1) {
1836 SetDirectMode(); 1836 SetDirectMode();
1837 InitCache(); 1837 InitCache();
1838 std::string key("the first key"); 1838 std::string key("the first key");
1839 disk_cache::Entry* entry; 1839 disk_cache::Entry* entry;
1840 ASSERT_EQ(net::OK, CreateEntry(key, &entry)); 1840 ASSERT_EQ(net::OK, CreateEntry(key, &entry));
1841 1841
1842 const int kSize = 200; 1842 const int kSize = 200;
1843 scoped_refptr<net::IOBuffer> buffer = new net::IOBuffer(kSize); 1843 scoped_refptr<net::IOBuffer> buffer(new net::IOBuffer(kSize));
1844 CacheTestFillBuffer(buffer->data(), kSize, true); 1844 CacheTestFillBuffer(buffer->data(), kSize, true);
1845 1845
1846 for (int i = 0; i < 10; i++) { 1846 for (int i = 0; i < 10; i++) {
1847 SCOPED_TRACE(i); 1847 SCOPED_TRACE(i);
1848 // Allocate 2MB for this entry. 1848 // Allocate 2MB for this entry.
1849 EXPECT_EQ(kSize, WriteData(entry, 0, 0, buffer, kSize, true)); 1849 EXPECT_EQ(kSize, WriteData(entry, 0, 0, buffer, kSize, true));
1850 EXPECT_EQ(kSize, WriteData(entry, 1, 0, buffer, kSize, true)); 1850 EXPECT_EQ(kSize, WriteData(entry, 1, 0, buffer, kSize, true));
1851 EXPECT_EQ(kSize, WriteData(entry, 0, 1024 * 1024, buffer, kSize, false)); 1851 EXPECT_EQ(kSize, WriteData(entry, 0, 1024 * 1024, buffer, kSize, false));
1852 EXPECT_EQ(kSize, WriteData(entry, 1, 1024 * 1024, buffer, kSize, false)); 1852 EXPECT_EQ(kSize, WriteData(entry, 1, 1024 * 1024, buffer, kSize, false));
1853 1853
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
1924 char buffer1[kSize]; 1924 char buffer1[kSize];
1925 char buffer2[kSize]; 1925 char buffer2[kSize];
1926 memset(buffer1, 't', kSize); 1926 memset(buffer1, 't', kSize);
1927 memset(buffer2, 0, kSize); 1927 memset(buffer2, 0, kSize);
1928 EXPECT_TRUE(file->Write(buffer1, kSize, 0)); 1928 EXPECT_TRUE(file->Write(buffer1, kSize, 0));
1929 EXPECT_TRUE(file->Read(buffer2, kSize, 0)); 1929 EXPECT_TRUE(file->Read(buffer2, kSize, 0));
1930 EXPECT_EQ(0, memcmp(buffer1, buffer2, kSize)); 1930 EXPECT_EQ(0, memcmp(buffer1, buffer2, kSize));
1931 1931
1932 EXPECT_TRUE(disk_cache::DeleteCacheFile(name)); 1932 EXPECT_TRUE(disk_cache::DeleteCacheFile(name));
1933 } 1933 }
OLDNEW
« no previous file with comments | « net/disk_cache/backend_impl.cc ('k') | net/disk_cache/disk_cache_perftest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698