OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/blockfile/stats.h" | 5 #include "net/disk_cache/blockfile/stats.h" |
6 | 6 |
7 #include "base/memory/scoped_ptr.h" | 7 #include <memory> |
| 8 |
8 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
9 | 10 |
10 TEST(DiskCacheStatsTest, Init) { | 11 TEST(DiskCacheStatsTest, Init) { |
11 disk_cache::Stats stats; | 12 disk_cache::Stats stats; |
12 EXPECT_TRUE(stats.Init(nullptr, 0, disk_cache::Addr())); | 13 EXPECT_TRUE(stats.Init(nullptr, 0, disk_cache::Addr())); |
13 EXPECT_EQ(0, stats.GetCounter(disk_cache::Stats::TRIM_ENTRY)); | 14 EXPECT_EQ(0, stats.GetCounter(disk_cache::Stats::TRIM_ENTRY)); |
14 } | 15 } |
15 | 16 |
16 TEST(DiskCacheStatsTest, InitWithEmptyBuffer) { | 17 TEST(DiskCacheStatsTest, InitWithEmptyBuffer) { |
17 disk_cache::Stats stats; | 18 disk_cache::Stats stats; |
18 int required_len = stats.StorageSize(); | 19 int required_len = stats.StorageSize(); |
19 scoped_ptr<char[]> storage(new char[required_len]); | 20 std::unique_ptr<char[]> storage(new char[required_len]); |
20 memset(storage.get(), 0, required_len); | 21 memset(storage.get(), 0, required_len); |
21 | 22 |
22 ASSERT_TRUE(stats.Init(storage.get(), required_len, disk_cache::Addr())); | 23 ASSERT_TRUE(stats.Init(storage.get(), required_len, disk_cache::Addr())); |
23 EXPECT_EQ(0, stats.GetCounter(disk_cache::Stats::TRIM_ENTRY)); | 24 EXPECT_EQ(0, stats.GetCounter(disk_cache::Stats::TRIM_ENTRY)); |
24 } | 25 } |
25 | 26 |
26 TEST(DiskCacheStatsTest, FailsInit) { | 27 TEST(DiskCacheStatsTest, FailsInit) { |
27 disk_cache::Stats stats; | 28 disk_cache::Stats stats; |
28 int required_len = stats.StorageSize(); | 29 int required_len = stats.StorageSize(); |
29 scoped_ptr<char[]> storage(new char[required_len]); | 30 std::unique_ptr<char[]> storage(new char[required_len]); |
30 memset(storage.get(), 0, required_len); | 31 memset(storage.get(), 0, required_len); |
31 | 32 |
32 // Try a small buffer. | 33 // Try a small buffer. |
33 EXPECT_LT(200, required_len); | 34 EXPECT_LT(200, required_len); |
34 disk_cache::Addr addr; | 35 disk_cache::Addr addr; |
35 EXPECT_FALSE(stats.Init(storage.get(), 200, addr)); | 36 EXPECT_FALSE(stats.Init(storage.get(), 200, addr)); |
36 | 37 |
37 // Try a buffer with garbage. | 38 // Try a buffer with garbage. |
38 memset(storage.get(), 'a', required_len); | 39 memset(storage.get(), 'a', required_len); |
39 EXPECT_FALSE(stats.Init(storage.get(), required_len, addr)); | 40 EXPECT_FALSE(stats.Init(storage.get(), required_len, addr)); |
40 } | 41 } |
41 | 42 |
42 TEST(DiskCacheStatsTest, SaveRestore) { | 43 TEST(DiskCacheStatsTest, SaveRestore) { |
43 scoped_ptr<disk_cache::Stats> stats(new disk_cache::Stats); | 44 std::unique_ptr<disk_cache::Stats> stats(new disk_cache::Stats); |
44 | 45 |
45 disk_cache::Addr addr(5); | 46 disk_cache::Addr addr(5); |
46 ASSERT_TRUE(stats->Init(nullptr, 0, addr)); | 47 ASSERT_TRUE(stats->Init(nullptr, 0, addr)); |
47 stats->SetCounter(disk_cache::Stats::CREATE_ERROR, 11); | 48 stats->SetCounter(disk_cache::Stats::CREATE_ERROR, 11); |
48 stats->SetCounter(disk_cache::Stats::DOOM_ENTRY, 13); | 49 stats->SetCounter(disk_cache::Stats::DOOM_ENTRY, 13); |
49 stats->OnEvent(disk_cache::Stats::MIN_COUNTER); | 50 stats->OnEvent(disk_cache::Stats::MIN_COUNTER); |
50 stats->OnEvent(disk_cache::Stats::TRIM_ENTRY); | 51 stats->OnEvent(disk_cache::Stats::TRIM_ENTRY); |
51 stats->OnEvent(disk_cache::Stats::DOOM_RECENT); | 52 stats->OnEvent(disk_cache::Stats::DOOM_RECENT); |
52 | 53 |
53 int required_len = stats->StorageSize(); | 54 int required_len = stats->StorageSize(); |
54 scoped_ptr<char[]> storage(new char[required_len]); | 55 std::unique_ptr<char[]> storage(new char[required_len]); |
55 disk_cache::Addr out_addr; | 56 disk_cache::Addr out_addr; |
56 int real_len = stats->SerializeStats(storage.get(), required_len, &out_addr); | 57 int real_len = stats->SerializeStats(storage.get(), required_len, &out_addr); |
57 EXPECT_GE(required_len, real_len); | 58 EXPECT_GE(required_len, real_len); |
58 EXPECT_EQ(out_addr, addr); | 59 EXPECT_EQ(out_addr, addr); |
59 | 60 |
60 stats.reset(new disk_cache::Stats); | 61 stats.reset(new disk_cache::Stats); |
61 ASSERT_TRUE(stats->Init(storage.get(), real_len, addr)); | 62 ASSERT_TRUE(stats->Init(storage.get(), real_len, addr)); |
62 EXPECT_EQ(1, stats->GetCounter(disk_cache::Stats::MIN_COUNTER)); | 63 EXPECT_EQ(1, stats->GetCounter(disk_cache::Stats::MIN_COUNTER)); |
63 EXPECT_EQ(1, stats->GetCounter(disk_cache::Stats::TRIM_ENTRY)); | 64 EXPECT_EQ(1, stats->GetCounter(disk_cache::Stats::TRIM_ENTRY)); |
64 EXPECT_EQ(1, stats->GetCounter(disk_cache::Stats::DOOM_RECENT)); | 65 EXPECT_EQ(1, stats->GetCounter(disk_cache::Stats::DOOM_RECENT)); |
65 EXPECT_EQ(0, stats->GetCounter(disk_cache::Stats::OPEN_HIT)); | 66 EXPECT_EQ(0, stats->GetCounter(disk_cache::Stats::OPEN_HIT)); |
66 EXPECT_EQ(0, stats->GetCounter(disk_cache::Stats::READ_DATA)); | 67 EXPECT_EQ(0, stats->GetCounter(disk_cache::Stats::READ_DATA)); |
67 EXPECT_EQ(0, stats->GetCounter(disk_cache::Stats::LAST_REPORT_TIMER)); | 68 EXPECT_EQ(0, stats->GetCounter(disk_cache::Stats::LAST_REPORT_TIMER)); |
68 EXPECT_EQ(11, stats->GetCounter(disk_cache::Stats::CREATE_ERROR)); | 69 EXPECT_EQ(11, stats->GetCounter(disk_cache::Stats::CREATE_ERROR)); |
69 EXPECT_EQ(13, stats->GetCounter(disk_cache::Stats::DOOM_ENTRY)); | 70 EXPECT_EQ(13, stats->GetCounter(disk_cache::Stats::DOOM_ENTRY)); |
70 | 71 |
71 // Now pass the whole buffer. It shoulod not matter that there is unused | 72 // Now pass the whole buffer. It shoulod not matter that there is unused |
72 // space at the end. | 73 // space at the end. |
73 stats.reset(new disk_cache::Stats); | 74 stats.reset(new disk_cache::Stats); |
74 ASSERT_TRUE(stats->Init(storage.get(), required_len, addr)); | 75 ASSERT_TRUE(stats->Init(storage.get(), required_len, addr)); |
75 EXPECT_EQ(1, stats->GetCounter(disk_cache::Stats::MIN_COUNTER)); | 76 EXPECT_EQ(1, stats->GetCounter(disk_cache::Stats::MIN_COUNTER)); |
76 EXPECT_EQ(1, stats->GetCounter(disk_cache::Stats::TRIM_ENTRY)); | 77 EXPECT_EQ(1, stats->GetCounter(disk_cache::Stats::TRIM_ENTRY)); |
77 EXPECT_EQ(1, stats->GetCounter(disk_cache::Stats::DOOM_RECENT)); | 78 EXPECT_EQ(1, stats->GetCounter(disk_cache::Stats::DOOM_RECENT)); |
78 EXPECT_EQ(0, stats->GetCounter(disk_cache::Stats::OPEN_HIT)); | 79 EXPECT_EQ(0, stats->GetCounter(disk_cache::Stats::OPEN_HIT)); |
79 EXPECT_EQ(0, stats->GetCounter(disk_cache::Stats::READ_DATA)); | 80 EXPECT_EQ(0, stats->GetCounter(disk_cache::Stats::READ_DATA)); |
80 EXPECT_EQ(0, stats->GetCounter(disk_cache::Stats::LAST_REPORT_TIMER)); | 81 EXPECT_EQ(0, stats->GetCounter(disk_cache::Stats::LAST_REPORT_TIMER)); |
81 EXPECT_EQ(11, stats->GetCounter(disk_cache::Stats::CREATE_ERROR)); | 82 EXPECT_EQ(11, stats->GetCounter(disk_cache::Stats::CREATE_ERROR)); |
82 EXPECT_EQ(13, stats->GetCounter(disk_cache::Stats::DOOM_ENTRY)); | 83 EXPECT_EQ(13, stats->GetCounter(disk_cache::Stats::DOOM_ENTRY)); |
83 } | 84 } |
OLD | NEW |