OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <string> | 5 #include <string> |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "content/browser/indexed_db/leveldb/leveldb_iterator_impl.h" | 8 #include "content/browser/indexed_db/leveldb/leveldb_iterator_impl.h" |
9 #include "content/browser/indexed_db/leveldb/leveldb_transaction.h" | 9 #include "content/browser/indexed_db/leveldb/leveldb_transaction.h" |
10 #include "content/browser/indexed_db/mock_browsertest_indexed_db_class_factory.h
" | 10 #include "content/browser/indexed_db/mock_browsertest_indexed_db_class_factory.h
" |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 : LevelDBTransaction(db), | 47 : LevelDBTransaction(db), |
48 fail_method_(fail_method), | 48 fail_method_(fail_method), |
49 fail_on_call_num_(fail_on_call_num), | 49 fail_on_call_num_(fail_on_call_num), |
50 current_call_num_(0) { | 50 current_call_num_(0) { |
51 DCHECK(fail_method != FAIL_METHOD_NOTHING); | 51 DCHECK(fail_method != FAIL_METHOD_NOTHING); |
52 DCHECK_GT(fail_on_call_num, 0); | 52 DCHECK_GT(fail_on_call_num, 0); |
53 } | 53 } |
54 | 54 |
55 virtual leveldb::Status Get(const base::StringPiece& key, | 55 virtual leveldb::Status Get(const base::StringPiece& key, |
56 std::string* value, | 56 std::string* value, |
57 bool* found) OVERRIDE { | 57 bool* found) override { |
58 if (fail_method_ != FAIL_METHOD_GET || | 58 if (fail_method_ != FAIL_METHOD_GET || |
59 ++current_call_num_ != fail_on_call_num_) | 59 ++current_call_num_ != fail_on_call_num_) |
60 return LevelDBTransaction::Get(key, value, found); | 60 return LevelDBTransaction::Get(key, value, found); |
61 | 61 |
62 *found = false; | 62 *found = false; |
63 return leveldb::Status::Corruption("Corrupted for the test"); | 63 return leveldb::Status::Corruption("Corrupted for the test"); |
64 } | 64 } |
65 | 65 |
66 virtual leveldb::Status Commit() OVERRIDE { | 66 virtual leveldb::Status Commit() override { |
67 if (fail_method_ != FAIL_METHOD_COMMIT || | 67 if (fail_method_ != FAIL_METHOD_COMMIT || |
68 ++current_call_num_ != fail_on_call_num_) | 68 ++current_call_num_ != fail_on_call_num_) |
69 return LevelDBTransaction::Commit(); | 69 return LevelDBTransaction::Commit(); |
70 | 70 |
71 return leveldb::Status::Corruption("Corrupted for the test"); | 71 return leveldb::Status::Corruption("Corrupted for the test"); |
72 } | 72 } |
73 | 73 |
74 private: | 74 private: |
75 virtual ~LevelDBTestTansaction() {} | 75 virtual ~LevelDBTestTansaction() {} |
76 | 76 |
77 FailMethod fail_method_; | 77 FailMethod fail_method_; |
78 int fail_on_call_num_; | 78 int fail_on_call_num_; |
79 int current_call_num_; | 79 int current_call_num_; |
80 }; | 80 }; |
81 | 81 |
82 class LevelDBTraceTansaction : public LevelDBTransaction { | 82 class LevelDBTraceTansaction : public LevelDBTransaction { |
83 public: | 83 public: |
84 LevelDBTraceTansaction(LevelDBDatabase* db, int tx_num) | 84 LevelDBTraceTansaction(LevelDBDatabase* db, int tx_num) |
85 : LevelDBTransaction(db), | 85 : LevelDBTransaction(db), |
86 commit_tracer_(s_class_name, "Commit", tx_num), | 86 commit_tracer_(s_class_name, "Commit", tx_num), |
87 get_tracer_(s_class_name, "Get", tx_num) {} | 87 get_tracer_(s_class_name, "Get", tx_num) {} |
88 | 88 |
89 virtual leveldb::Status Get(const base::StringPiece& key, | 89 virtual leveldb::Status Get(const base::StringPiece& key, |
90 std::string* value, | 90 std::string* value, |
91 bool* found) OVERRIDE { | 91 bool* found) override { |
92 get_tracer_.log_call(); | 92 get_tracer_.log_call(); |
93 return LevelDBTransaction::Get(key, value, found); | 93 return LevelDBTransaction::Get(key, value, found); |
94 } | 94 } |
95 | 95 |
96 virtual leveldb::Status Commit() OVERRIDE { | 96 virtual leveldb::Status Commit() override { |
97 commit_tracer_.log_call(); | 97 commit_tracer_.log_call(); |
98 return LevelDBTransaction::Commit(); | 98 return LevelDBTransaction::Commit(); |
99 } | 99 } |
100 | 100 |
101 private: | 101 private: |
102 static const std::string s_class_name; | 102 static const std::string s_class_name; |
103 | 103 |
104 virtual ~LevelDBTraceTansaction() {} | 104 virtual ~LevelDBTraceTansaction() {} |
105 | 105 |
106 FunctionTracer commit_tracer_; | 106 FunctionTracer commit_tracer_; |
(...skipping 11 matching lines...) Expand all Loading... |
118 seek_tracer_(s_class_name, "Seek", inst_num), | 118 seek_tracer_(s_class_name, "Seek", inst_num), |
119 next_tracer_(s_class_name, "Next", inst_num), | 119 next_tracer_(s_class_name, "Next", inst_num), |
120 prev_tracer_(s_class_name, "Prev", inst_num), | 120 prev_tracer_(s_class_name, "Prev", inst_num), |
121 key_tracer_(s_class_name, "Key", inst_num), | 121 key_tracer_(s_class_name, "Key", inst_num), |
122 value_tracer_(s_class_name, "Value", inst_num) {} | 122 value_tracer_(s_class_name, "Value", inst_num) {} |
123 virtual ~LevelDBTraceIteratorImpl() {} | 123 virtual ~LevelDBTraceIteratorImpl() {} |
124 | 124 |
125 private: | 125 private: |
126 static const std::string s_class_name; | 126 static const std::string s_class_name; |
127 | 127 |
128 virtual bool IsValid() const OVERRIDE { | 128 virtual bool IsValid() const override { |
129 is_valid_tracer_.log_call(); | 129 is_valid_tracer_.log_call(); |
130 return LevelDBIteratorImpl::IsValid(); | 130 return LevelDBIteratorImpl::IsValid(); |
131 } | 131 } |
132 virtual leveldb::Status SeekToLast() OVERRIDE { | 132 virtual leveldb::Status SeekToLast() override { |
133 seek_to_last_tracer_.log_call(); | 133 seek_to_last_tracer_.log_call(); |
134 return LevelDBIteratorImpl::SeekToLast(); | 134 return LevelDBIteratorImpl::SeekToLast(); |
135 } | 135 } |
136 virtual leveldb::Status Seek(const base::StringPiece& target) OVERRIDE { | 136 virtual leveldb::Status Seek(const base::StringPiece& target) override { |
137 seek_tracer_.log_call(); | 137 seek_tracer_.log_call(); |
138 return LevelDBIteratorImpl::Seek(target); | 138 return LevelDBIteratorImpl::Seek(target); |
139 } | 139 } |
140 virtual leveldb::Status Next() OVERRIDE { | 140 virtual leveldb::Status Next() override { |
141 next_tracer_.log_call(); | 141 next_tracer_.log_call(); |
142 return LevelDBIteratorImpl::Next(); | 142 return LevelDBIteratorImpl::Next(); |
143 } | 143 } |
144 virtual leveldb::Status Prev() OVERRIDE { | 144 virtual leveldb::Status Prev() override { |
145 prev_tracer_.log_call(); | 145 prev_tracer_.log_call(); |
146 return LevelDBIteratorImpl::Prev(); | 146 return LevelDBIteratorImpl::Prev(); |
147 } | 147 } |
148 virtual base::StringPiece Key() const OVERRIDE { | 148 virtual base::StringPiece Key() const override { |
149 key_tracer_.log_call(); | 149 key_tracer_.log_call(); |
150 return LevelDBIteratorImpl::Key(); | 150 return LevelDBIteratorImpl::Key(); |
151 } | 151 } |
152 virtual base::StringPiece Value() const OVERRIDE { | 152 virtual base::StringPiece Value() const override { |
153 value_tracer_.log_call(); | 153 value_tracer_.log_call(); |
154 return LevelDBIteratorImpl::Value(); | 154 return LevelDBIteratorImpl::Value(); |
155 } | 155 } |
156 | 156 |
157 mutable FunctionTracer is_valid_tracer_; | 157 mutable FunctionTracer is_valid_tracer_; |
158 mutable FunctionTracer seek_to_last_tracer_; | 158 mutable FunctionTracer seek_to_last_tracer_; |
159 mutable FunctionTracer seek_tracer_; | 159 mutable FunctionTracer seek_tracer_; |
160 mutable FunctionTracer next_tracer_; | 160 mutable FunctionTracer next_tracer_; |
161 mutable FunctionTracer prev_tracer_; | 161 mutable FunctionTracer prev_tracer_; |
162 mutable FunctionTracer key_tracer_; | 162 mutable FunctionTracer key_tracer_; |
163 mutable FunctionTracer value_tracer_; | 163 mutable FunctionTracer value_tracer_; |
164 }; | 164 }; |
165 | 165 |
166 const std::string LevelDBTraceIteratorImpl::s_class_name = "LevelDBIterator"; | 166 const std::string LevelDBTraceIteratorImpl::s_class_name = "LevelDBIterator"; |
167 | 167 |
168 class LevelDBTestIteratorImpl : public content::LevelDBIteratorImpl { | 168 class LevelDBTestIteratorImpl : public content::LevelDBIteratorImpl { |
169 public: | 169 public: |
170 LevelDBTestIteratorImpl(scoped_ptr<leveldb::Iterator> iterator, | 170 LevelDBTestIteratorImpl(scoped_ptr<leveldb::Iterator> iterator, |
171 FailMethod fail_method, | 171 FailMethod fail_method, |
172 int fail_on_call_num) | 172 int fail_on_call_num) |
173 : LevelDBIteratorImpl(iterator.Pass()), | 173 : LevelDBIteratorImpl(iterator.Pass()), |
174 fail_method_(fail_method), | 174 fail_method_(fail_method), |
175 fail_on_call_num_(fail_on_call_num), | 175 fail_on_call_num_(fail_on_call_num), |
176 current_call_num_(0) {} | 176 current_call_num_(0) {} |
177 virtual ~LevelDBTestIteratorImpl() {} | 177 virtual ~LevelDBTestIteratorImpl() {} |
178 | 178 |
179 private: | 179 private: |
180 virtual leveldb::Status Seek(const base::StringPiece& target) OVERRIDE { | 180 virtual leveldb::Status Seek(const base::StringPiece& target) override { |
181 if (fail_method_ != FAIL_METHOD_SEEK || | 181 if (fail_method_ != FAIL_METHOD_SEEK || |
182 ++current_call_num_ != fail_on_call_num_) | 182 ++current_call_num_ != fail_on_call_num_) |
183 return LevelDBIteratorImpl::Seek(target); | 183 return LevelDBIteratorImpl::Seek(target); |
184 return leveldb::Status::Corruption("Corrupted for test"); | 184 return leveldb::Status::Corruption("Corrupted for test"); |
185 } | 185 } |
186 | 186 |
187 FailMethod fail_method_; | 187 FailMethod fail_method_; |
188 int fail_on_call_num_; | 188 int fail_on_call_num_; |
189 int current_call_num_; | 189 int current_call_num_; |
190 }; | 190 }; |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 | 261 |
262 void MockBrowserTestIndexedDBClassFactory::Reset() { | 262 void MockBrowserTestIndexedDBClassFactory::Reset() { |
263 failure_class_ = FAIL_CLASS_NOTHING; | 263 failure_class_ = FAIL_CLASS_NOTHING; |
264 failure_method_ = FAIL_METHOD_NOTHING; | 264 failure_method_ = FAIL_METHOD_NOTHING; |
265 instance_count_.clear(); | 265 instance_count_.clear(); |
266 fail_on_instance_num_.clear(); | 266 fail_on_instance_num_.clear(); |
267 fail_on_call_num_.clear(); | 267 fail_on_call_num_.clear(); |
268 } | 268 } |
269 | 269 |
270 } // namespace content | 270 } // namespace content |
OLD | NEW |