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

Side by Side Diff: net/quic/test_tools/quic_test_utils.h

Issue 2740453006: Add QuicStringPiece which is actually StringPiece. (Closed)
Patch Set: fix compile error and rebase Created 3 years, 9 months 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/quic/test_tools/quic_stream_peer.cc ('k') | net/quic/test_tools/quic_test_utils.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) 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 <cstdint> 10 #include <cstdint>
11 #include <memory> 11 #include <memory>
12 #include <string> 12 #include <string>
13 #include <utility> 13 #include <utility>
14 #include <vector> 14 #include <vector>
15 15
16 #include "base/macros.h" 16 #include "base/macros.h"
17 #include "base/strings/string_piece.h"
18 #include "net/quic/core/congestion_control/loss_detection_interface.h" 17 #include "net/quic/core/congestion_control/loss_detection_interface.h"
19 #include "net/quic/core/congestion_control/send_algorithm_interface.h" 18 #include "net/quic/core/congestion_control/send_algorithm_interface.h"
20 #include "net/quic/core/quic_client_push_promise_index.h" 19 #include "net/quic/core/quic_client_push_promise_index.h"
21 #include "net/quic/core/quic_connection.h" 20 #include "net/quic/core/quic_connection.h"
22 #include "net/quic/core/quic_connection_close_delegate_interface.h" 21 #include "net/quic/core/quic_connection_close_delegate_interface.h"
23 #include "net/quic/core/quic_framer.h" 22 #include "net/quic/core/quic_framer.h"
24 #include "net/quic/core/quic_iovector.h" 23 #include "net/quic/core/quic_iovector.h"
25 #include "net/quic/core/quic_sent_packet_manager.h" 24 #include "net/quic/core/quic_sent_packet_manager.h"
26 #include "net/quic/core/quic_server_session_base.h" 25 #include "net/quic/core/quic_server_session_base.h"
27 #include "net/quic/core/quic_simple_buffer_allocator.h" 26 #include "net/quic/core/quic_simple_buffer_allocator.h"
27 #include "net/quic/platform/api/quic_string_piece.h"
28 #include "net/quic/test_tools/mock_clock.h" 28 #include "net/quic/test_tools/mock_clock.h"
29 #include "net/quic/test_tools/mock_random.h" 29 #include "net/quic/test_tools/mock_random.h"
30 #include "net/test/gtest_util.h" 30 #include "net/test/gtest_util.h"
31 #include "net/tools/quic/quic_per_connection_packet_writer.h" 31 #include "net/tools/quic/quic_per_connection_packet_writer.h"
32 #include "net/tools/quic/test_tools/mock_quic_session_visitor.h" 32 #include "net/tools/quic/test_tools/mock_quic_session_visitor.h"
33 #include "testing/gmock/include/gmock/gmock.h" 33 #include "testing/gmock/include/gmock/gmock.h"
34 34
35 using base::StringPiece;
36
37 // EXPECT_QUIC_BUG is like EXPECT_DFATAL, except it ensures that no DFATAL 35 // EXPECT_QUIC_BUG is like EXPECT_DFATAL, except it ensures that no DFATAL
38 // logging is skipped due to exponential backoff. 36 // logging is skipped due to exponential backoff.
39 // 37 //
40 // For external QUIC, EXPECT_QUIC_BUG should be #defined to EXPECT_DFATAL. 38 // For external QUIC, EXPECT_QUIC_BUG should be #defined to EXPECT_DFATAL.
41 #define EXPECT_QUIC_BUG EXPECT_DFATAL 39 #define EXPECT_QUIC_BUG EXPECT_DFATAL
42 40
43 namespace net { 41 namespace net {
44 42
45 namespace test { 43 namespace test {
46 44
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 185
188 // When constructed, checks that all QUIC flags have their correct default 186 // When constructed, checks that all QUIC flags have their correct default
189 // values and when destructed, restores those values. 187 // values and when destructed, restores those values.
190 class QuicFlagSaver { 188 class QuicFlagSaver {
191 public: 189 public:
192 QuicFlagSaver(); 190 QuicFlagSaver();
193 ~QuicFlagSaver(); 191 ~QuicFlagSaver();
194 }; 192 };
195 193
196 // Compute SHA-1 hash of the supplied std::string. 194 // Compute SHA-1 hash of the supplied std::string.
197 std::string Sha1Hash(base::StringPiece data); 195 std::string Sha1Hash(QuicStringPiece data);
198 196
199 // Simple random number generator used to compute random numbers suitable 197 // Simple random number generator used to compute random numbers suitable
200 // for pseudo-randomly dropping packets in tests. It works by computing 198 // for pseudo-randomly dropping packets in tests. It works by computing
201 // the sha1 hash of the current seed, and using the first 64 bits as 199 // the sha1 hash of the current seed, and using the first 64 bits as
202 // the next random number, and the next seed. 200 // the next random number, and the next seed.
203 class SimpleRandom : public QuicRandom { 201 class SimpleRandom : public QuicRandom {
204 public: 202 public:
205 SimpleRandom() : seed_(0) {} 203 SimpleRandom() : seed_(0) {}
206 ~SimpleRandom() override {} 204 ~SimpleRandom() override {}
207 205
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
498 QuicStreamOffset offset, 496 QuicStreamOffset offset,
499 bool fin, 497 bool fin,
500 QuicReferenceCountedPointer<QuicAckListenerInterface>)); 498 QuicReferenceCountedPointer<QuicAckListenerInterface>));
501 499
502 MOCK_METHOD3(SendRstStream, 500 MOCK_METHOD3(SendRstStream,
503 void(QuicStreamId stream_id, 501 void(QuicStreamId stream_id,
504 QuicRstStreamErrorCode error, 502 QuicRstStreamErrorCode error,
505 QuicStreamOffset bytes_written)); 503 QuicStreamOffset bytes_written));
506 504
507 MOCK_METHOD2(OnStreamHeaders, 505 MOCK_METHOD2(OnStreamHeaders,
508 void(QuicStreamId stream_id, base::StringPiece headers_data)); 506 void(QuicStreamId stream_id, QuicStringPiece headers_data));
509 MOCK_METHOD2(OnStreamHeadersPriority, 507 MOCK_METHOD2(OnStreamHeadersPriority,
510 void(QuicStreamId stream_id, SpdyPriority priority)); 508 void(QuicStreamId stream_id, SpdyPriority priority));
511 MOCK_METHOD3(OnStreamHeadersComplete, 509 MOCK_METHOD3(OnStreamHeadersComplete,
512 void(QuicStreamId stream_id, bool fin, size_t frame_len)); 510 void(QuicStreamId stream_id, bool fin, size_t frame_len));
513 MOCK_METHOD0(IsCryptoHandshakeConfirmed, bool()); 511 MOCK_METHOD0(IsCryptoHandshakeConfirmed, bool());
514 512
515 using QuicSession::ActivateStream; 513 using QuicSession::ActivateStream;
516 514
517 // Returns a QuicConsumedData that indicates all of |data| (and |fin| if set) 515 // Returns a QuicConsumedData that indicates all of |data| (and |fin| if set)
518 // has been consumed. 516 // has been consumed.
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
559 QuicStreamOffset offset, 557 QuicStreamOffset offset,
560 bool fin, 558 bool fin,
561 QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener)); 559 QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener));
562 560
563 MOCK_METHOD3(SendRstStream, 561 MOCK_METHOD3(SendRstStream,
564 void(QuicStreamId stream_id, 562 void(QuicStreamId stream_id,
565 QuicRstStreamErrorCode error, 563 QuicRstStreamErrorCode error,
566 QuicStreamOffset bytes_written)); 564 QuicStreamOffset bytes_written));
567 565
568 MOCK_METHOD2(OnStreamHeaders, 566 MOCK_METHOD2(OnStreamHeaders,
569 void(QuicStreamId stream_id, StringPiece headers_data)); 567 void(QuicStreamId stream_id, QuicStringPiece headers_data));
570 MOCK_METHOD2(OnStreamHeadersPriority, 568 MOCK_METHOD2(OnStreamHeadersPriority,
571 void(QuicStreamId stream_id, SpdyPriority priority)); 569 void(QuicStreamId stream_id, SpdyPriority priority));
572 MOCK_METHOD3(OnStreamHeadersComplete, 570 MOCK_METHOD3(OnStreamHeadersComplete,
573 void(QuicStreamId stream_id, bool fin, size_t frame_len)); 571 void(QuicStreamId stream_id, bool fin, size_t frame_len));
574 MOCK_METHOD4(OnStreamHeaderList, 572 MOCK_METHOD4(OnStreamHeaderList,
575 void(QuicStreamId stream_id, 573 void(QuicStreamId stream_id,
576 bool fin, 574 bool fin,
577 size_t frame_len, 575 size_t frame_len,
578 const QuicHeaderList& header_list)); 576 const QuicHeaderList& header_list));
579 MOCK_METHOD0(IsCryptoHandshakeConfirmed, bool()); 577 MOCK_METHOD0(IsCryptoHandshakeConfirmed, bool());
580 MOCK_METHOD2(OnPromiseHeaders, 578 MOCK_METHOD2(OnPromiseHeaders,
581 void(QuicStreamId stream_id, StringPiece headers_data)); 579 void(QuicStreamId stream_id, QuicStringPiece headers_data));
582 MOCK_METHOD3(OnPromiseHeadersComplete, 580 MOCK_METHOD3(OnPromiseHeadersComplete,
583 void(QuicStreamId stream_id, 581 void(QuicStreamId stream_id,
584 QuicStreamId promised_stream_id, 582 QuicStreamId promised_stream_id,
585 size_t frame_len)); 583 size_t frame_len));
586 MOCK_METHOD4(OnPromiseHeaderList, 584 MOCK_METHOD4(OnPromiseHeaderList,
587 void(QuicStreamId stream_id, 585 void(QuicStreamId stream_id,
588 QuicStreamId promised_stream_id, 586 QuicStreamId promised_stream_id,
589 size_t frame_len, 587 size_t frame_len,
590 const QuicHeaderList& header_list)); 588 const QuicHeaderList& header_list));
591 // Methods taking non-copyable types like SpdyHeaderBlock by value cannot be 589 // Methods taking non-copyable types like SpdyHeaderBlock by value cannot be
(...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after
974 for (auto p : container) { 972 for (auto p : container) {
975 total_size += p.first.size() + p.second.size(); 973 total_size += p.first.size() + p.second.size();
976 l.OnHeader(p.first, p.second); 974 l.OnHeader(p.first, p.second);
977 } 975 }
978 l.OnHeaderBlockEnd(total_size); 976 l.OnHeaderBlockEnd(total_size);
979 return l; 977 return l;
980 } 978 }
981 979
982 // Utility function that returns an QuicIOVector object wrapped around |str|. 980 // Utility function that returns an QuicIOVector object wrapped around |str|.
983 // // |str|'s data is stored in |iov|. 981 // // |str|'s data is stored in |iov|.
984 inline QuicIOVector MakeIOVector(base::StringPiece str, struct iovec* iov) { 982 inline QuicIOVector MakeIOVector(QuicStringPiece str, struct iovec* iov) {
985 iov->iov_base = const_cast<char*>(str.data()); 983 iov->iov_base = const_cast<char*>(str.data());
986 iov->iov_len = static_cast<size_t>(str.size()); 984 iov->iov_len = static_cast<size_t>(str.size());
987 QuicIOVector quic_iov(iov, 1, str.size()); 985 QuicIOVector quic_iov(iov, 1, str.size());
988 return quic_iov; 986 return quic_iov;
989 } 987 }
990 988
991 } // namespace test 989 } // namespace test
992 } // namespace net 990 } // namespace net
993 991
994 #endif // NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ 992 #endif // NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_
OLDNEW
« no previous file with comments | « net/quic/test_tools/quic_stream_peer.cc ('k') | net/quic/test_tools/quic_test_utils.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698