OLD | NEW |
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 // Common utilities for Quic tests | 5 // Common utilities for Quic tests |
6 | 6 |
7 #ifndef NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ | 7 #ifndef NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ |
8 #define NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ | 8 #define NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ |
9 | 9 |
10 #include <vector> | 10 #include <vector> |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
177 }; | 177 }; |
178 | 178 |
179 class MockHelper : public QuicConnectionHelperInterface { | 179 class MockHelper : public QuicConnectionHelperInterface { |
180 public: | 180 public: |
181 MockHelper(); | 181 MockHelper(); |
182 virtual ~MockHelper(); | 182 virtual ~MockHelper(); |
183 | 183 |
184 MOCK_METHOD1(SetConnection, void(QuicConnection* connection)); | 184 MOCK_METHOD1(SetConnection, void(QuicConnection* connection)); |
185 const QuicClock* GetClock() const; | 185 const QuicClock* GetClock() const; |
186 QuicRandom* GetRandomGenerator(); | 186 QuicRandom* GetRandomGenerator(); |
| 187 void AdvanceTime(QuicTime::Delta delta); |
187 MOCK_METHOD2(WritePacketToWire, int(const QuicEncryptedPacket& packet, | 188 MOCK_METHOD2(WritePacketToWire, int(const QuicEncryptedPacket& packet, |
188 int* error)); | 189 int* error)); |
189 MOCK_METHOD0(IsWriteBlockedDataBuffered, bool()); | 190 MOCK_METHOD0(IsWriteBlockedDataBuffered, bool()); |
190 MOCK_METHOD1(IsWriteBlocked, bool(int)); | 191 MOCK_METHOD1(IsWriteBlocked, bool(int)); |
191 MOCK_METHOD1(SetRetransmissionAlarm, void(QuicTime::Delta delay)); | 192 MOCK_METHOD1(SetRetransmissionAlarm, void(QuicTime::Delta delay)); |
192 MOCK_METHOD1(SetAckAlarm, void(QuicTime::Delta delay)); | 193 MOCK_METHOD1(SetAckAlarm, void(QuicTime::Delta delay)); |
193 MOCK_METHOD1(SetSendAlarm, void(QuicTime alarm_time)); | 194 MOCK_METHOD1(SetSendAlarm, void(QuicTime alarm_time)); |
194 MOCK_METHOD1(SetTimeoutAlarm, void(QuicTime::Delta delay)); | 195 MOCK_METHOD1(SetTimeoutAlarm, void(QuicTime::Delta delay)); |
195 MOCK_METHOD0(IsSendAlarmSet, bool()); | 196 MOCK_METHOD0(IsSendAlarmSet, bool()); |
196 MOCK_METHOD0(UnregisterSendAlarmIfRegistered, void()); | 197 MOCK_METHOD0(UnregisterSendAlarmIfRegistered, void()); |
197 MOCK_METHOD0(ClearAckAlarm, void()); | 198 MOCK_METHOD0(ClearAckAlarm, void()); |
198 private: | 199 private: |
199 const MockClock clock_; | 200 MockClock clock_; |
200 MockRandom random_generator_; | 201 MockRandom random_generator_; |
201 }; | 202 }; |
202 | 203 |
203 class MockConnection : public QuicConnection { | 204 class MockConnection : public QuicConnection { |
204 public: | 205 public: |
205 // Uses a MockHelper. | 206 // Uses a MockHelper. |
206 MockConnection(QuicGuid guid, IPEndPoint address, bool is_server); | 207 MockConnection(QuicGuid guid, IPEndPoint address, bool is_server); |
207 MockConnection(QuicGuid guid, | 208 MockConnection(QuicGuid guid, |
208 IPEndPoint address, | 209 IPEndPoint address, |
209 QuicConnectionHelperInterface* helper, | 210 QuicConnectionHelperInterface* helper, |
210 bool is_server); | 211 bool is_server); |
211 virtual ~MockConnection(); | 212 virtual ~MockConnection(); |
212 | 213 |
| 214 // If the constructor that uses a MockHelper has been used then this method |
| 215 // will advance the time of the MockClock. |
| 216 void AdvanceTime(QuicTime::Delta delta); |
| 217 |
213 MOCK_METHOD3(ProcessUdpPacket, void(const IPEndPoint& self_address, | 218 MOCK_METHOD3(ProcessUdpPacket, void(const IPEndPoint& self_address, |
214 const IPEndPoint& peer_address, | 219 const IPEndPoint& peer_address, |
215 const QuicEncryptedPacket& packet)); | 220 const QuicEncryptedPacket& packet)); |
216 MOCK_METHOD1(SendConnectionClose, void(QuicErrorCode error)); | 221 MOCK_METHOD1(SendConnectionClose, void(QuicErrorCode error)); |
217 MOCK_METHOD2(SendConnectionCloseWithDetails, void(QuicErrorCode error, | 222 MOCK_METHOD2(SendConnectionCloseWithDetails, void(QuicErrorCode error, |
218 const string& details)); | 223 const string& details)); |
219 MOCK_METHOD2(SendRstStream, void(QuicStreamId id, | 224 MOCK_METHOD2(SendRstStream, void(QuicStreamId id, |
220 QuicRstStreamErrorCode error)); | 225 QuicRstStreamErrorCode error)); |
221 MOCK_METHOD3(SendGoAway, void(QuicErrorCode error, | 226 MOCK_METHOD3(SendGoAway, void(QuicErrorCode error, |
222 QuicStreamId last_good_stream_id, | 227 QuicStreamId last_good_stream_id, |
223 const string& reason)); | 228 const string& reason)); |
224 MOCK_METHOD0(OnCanWrite, bool()); | 229 MOCK_METHOD0(OnCanWrite, bool()); |
225 | 230 |
226 void ProcessUdpPacketInternal(const IPEndPoint& self_address, | 231 void ProcessUdpPacketInternal(const IPEndPoint& self_address, |
227 const IPEndPoint& peer_address, | 232 const IPEndPoint& peer_address, |
228 const QuicEncryptedPacket& packet) { | 233 const QuicEncryptedPacket& packet) { |
229 QuicConnection::ProcessUdpPacket(self_address, peer_address, packet); | 234 QuicConnection::ProcessUdpPacket(self_address, peer_address, packet); |
230 } | 235 } |
231 | 236 |
232 virtual bool OnProtocolVersionMismatch(QuicVersionTag version) OVERRIDE { | 237 virtual bool OnProtocolVersionMismatch(QuicVersionTag version) OVERRIDE { |
233 return false; | 238 return false; |
234 } | 239 } |
235 | 240 |
236 private: | 241 private: |
| 242 const bool has_mock_helper_; |
| 243 |
237 DISALLOW_COPY_AND_ASSIGN(MockConnection); | 244 DISALLOW_COPY_AND_ASSIGN(MockConnection); |
238 }; | 245 }; |
239 | 246 |
240 class PacketSavingConnection : public MockConnection { | 247 class PacketSavingConnection : public MockConnection { |
241 public: | 248 public: |
242 PacketSavingConnection(QuicGuid guid, IPEndPoint address, bool is_server); | 249 PacketSavingConnection(QuicGuid guid, IPEndPoint address, bool is_server); |
243 virtual ~PacketSavingConnection(); | 250 virtual ~PacketSavingConnection(); |
244 | 251 |
245 virtual bool SendOrQueuePacket( | 252 virtual bool SendOrQueuePacket( |
246 QuicPacketSequenceNumber sequence_number, | 253 QuicPacketSequenceNumber sequence_number, |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
312 | 319 |
313 virtual QuicPacketEntropyHash ReceivedEntropyHash( | 320 virtual QuicPacketEntropyHash ReceivedEntropyHash( |
314 QuicPacketSequenceNumber sequence_number) const OVERRIDE; | 321 QuicPacketSequenceNumber sequence_number) const OVERRIDE; |
315 }; | 322 }; |
316 | 323 |
317 } // namespace test | 324 } // namespace test |
318 | 325 |
319 } // namespace net | 326 } // namespace net |
320 | 327 |
321 #endif // NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ | 328 #endif // NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ |
OLD | NEW |