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

Side by Side Diff: net/quic/quic_stream_factory_test.cc

Issue 23587004: If the stream is being closed locally (for example in the case of a (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix tests Created 7 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « net/quic/quic_session_test.cc ('k') | net/quic/quic_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 #include "net/quic/quic_stream_factory.h" 5 #include "net/quic/quic_stream_factory.h"
6 6
7 #include "base/run_loop.h" 7 #include "base/run_loop.h"
8 #include "base/strings/string_util.h" 8 #include "base/strings/string_util.h"
9 #include "net/cert/cert_verifier.h" 9 #include "net/cert/cert_verifier.h"
10 #include "net/dns/mock_host_resolver.h" 10 #include "net/dns/mock_host_resolver.h"
(...skipping 29 matching lines...) Expand all
40 } 40 }
41 41
42 scoped_ptr<QuicEncryptedPacket> ConstructRstPacket( 42 scoped_ptr<QuicEncryptedPacket> ConstructRstPacket(
43 QuicPacketSequenceNumber num, 43 QuicPacketSequenceNumber num,
44 QuicStreamId stream_id) { 44 QuicStreamId stream_id) {
45 QuicPacketHeader header; 45 QuicPacketHeader header;
46 header.public_header.guid = 0xDEADBEEF; 46 header.public_header.guid = 0xDEADBEEF;
47 header.public_header.reset_flag = false; 47 header.public_header.reset_flag = false;
48 header.public_header.version_flag = true; 48 header.public_header.version_flag = true;
49 header.packet_sequence_number = num; 49 header.packet_sequence_number = num;
50 header.public_header.sequence_number_length = PACKET_1BYTE_SEQUENCE_NUMBER;
50 header.entropy_flag = false; 51 header.entropy_flag = false;
51 header.fec_flag = false; 52 header.fec_flag = false;
52 header.fec_group = 0; 53 header.fec_group = 0;
53 54
54 QuicRstStreamFrame rst(stream_id, QUIC_STREAM_NO_ERROR); 55 QuicRstStreamFrame rst(stream_id, QUIC_SERVER_ERROR_PROCESSING_STREAM);
55 return scoped_ptr<QuicEncryptedPacket>( 56 return scoped_ptr<QuicEncryptedPacket>(
56 ConstructPacket(header, QuicFrame(&rst))); 57 ConstructPacket(header, QuicFrame(&rst)));
57 } 58 }
58 59
59 scoped_ptr<QuicEncryptedPacket> ConstructAckPacket( 60 scoped_ptr<QuicEncryptedPacket> ConstructAckPacket(
60 QuicPacketSequenceNumber largest_received, 61 QuicPacketSequenceNumber largest_received,
61 QuicPacketSequenceNumber least_unacked) { 62 QuicPacketSequenceNumber least_unacked) {
62 QuicPacketHeader header; 63 QuicPacketHeader header;
63 header.public_header.guid = 0xDEADBEEF; 64 header.public_header.guid = 0xDEADBEEF;
64 header.public_header.reset_flag = false; 65 header.public_header.reset_flag = false;
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 stream.reset(); // Will reset stream 7. 167 stream.reset(); // Will reset stream 7.
167 168
168 EXPECT_TRUE(socket_data.at_read_eof()); 169 EXPECT_TRUE(socket_data.at_read_eof());
169 EXPECT_TRUE(socket_data.at_write_eof()); 170 EXPECT_TRUE(socket_data.at_write_eof());
170 } 171 }
171 172
172 TEST_F(QuicStreamFactoryTest, MaxOpenStream) { 173 TEST_F(QuicStreamFactoryTest, MaxOpenStream) {
173 MockRead reads[] = { 174 MockRead reads[] = {
174 MockRead(ASYNC, OK, 0) // EOF 175 MockRead(ASYNC, OK, 0) // EOF
175 }; 176 };
176 DeterministicSocketData socket_data(reads, arraysize(reads), NULL, 0); 177 scoped_ptr<QuicEncryptedPacket> rst(ConstructRstPacket(1, 3));
178 MockWrite writes[] = {
179 MockWrite(ASYNC, rst->data(), rst->length(), 1),
180 };
181 DeterministicSocketData socket_data(reads, arraysize(reads),
182 writes, arraysize(writes));
177 socket_factory_.AddSocketDataProvider(&socket_data); 183 socket_factory_.AddSocketDataProvider(&socket_data);
178 socket_data.StopAfter(1); 184 socket_data.StopAfter(1);
179 185
180 HttpRequestInfo request_info; 186 HttpRequestInfo request_info;
181 std::vector<QuicHttpStream*> streams; 187 std::vector<QuicHttpStream*> streams;
182 // The MockCryptoClientStream sets max_open_streams to be 188 // The MockCryptoClientStream sets max_open_streams to be
183 // 2 * kDefaultMaxStreamsPerConnection. 189 // 2 * kDefaultMaxStreamsPerConnection.
184 for (size_t i = 0; i < 2 * kDefaultMaxStreamsPerConnection; i++) { 190 for (size_t i = 0; i < 2 * kDefaultMaxStreamsPerConnection; i++) {
185 QuicStreamRequest request(&factory_); 191 QuicStreamRequest request(&factory_);
186 int rv = request.Request(host_port_proxy_pair_, is_https_, 192 int rv = request.Request(host_port_proxy_pair_, is_https_,
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 stream.reset(); // Will reset stream 3. 365 stream.reset(); // Will reset stream 3.
360 366
361 EXPECT_TRUE(socket_data.at_read_eof()); 367 EXPECT_TRUE(socket_data.at_read_eof());
362 EXPECT_TRUE(socket_data.at_write_eof()); 368 EXPECT_TRUE(socket_data.at_write_eof());
363 EXPECT_TRUE(socket_data2.at_read_eof()); 369 EXPECT_TRUE(socket_data2.at_read_eof());
364 EXPECT_TRUE(socket_data2.at_write_eof()); 370 EXPECT_TRUE(socket_data2.at_write_eof());
365 } 371 }
366 372
367 } // namespace test 373 } // namespace test
368 } // namespace net 374 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_session_test.cc ('k') | net/quic/quic_utils.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698