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

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

Issue 2417183003: Remove stl_util's deletion functions from remaining quic code. (Closed)
Patch Set: rebase Created 4 years, 1 month 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
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/chromium/quic_stream_factory.h" 5 #include "net/quic/chromium/quic_stream_factory.h"
6 6
7 #include <memory>
7 #include <ostream> 8 #include <ostream>
8 #include <utility> 9 #include <utility>
9 10
10 #include "base/bind.h" 11 #include "base/bind.h"
11 #include "base/callback.h" 12 #include "base/callback.h"
13 #include "base/memory/ptr_util.h"
12 #include "base/run_loop.h" 14 #include "base/run_loop.h"
13 #include "base/strings/string_util.h" 15 #include "base/strings/string_util.h"
14 #include "base/threading/thread_task_runner_handle.h" 16 #include "base/threading/thread_task_runner_handle.h"
15 #include "net/cert/cert_verifier.h" 17 #include "net/cert/cert_verifier.h"
16 #include "net/cert/ct_policy_enforcer.h" 18 #include "net/cert/ct_policy_enforcer.h"
17 #include "net/cert/multi_log_ct_verifier.h" 19 #include "net/cert/multi_log_ct_verifier.h"
18 #include "net/dns/mock_host_resolver.h" 20 #include "net/dns/mock_host_resolver.h"
19 #include "net/http/http_response_headers.h" 21 #include "net/http/http_response_headers.h"
20 #include "net/http/http_response_info.h" 22 #include "net/http/http_response_info.h"
21 #include "net/http/http_server_properties_impl.h" 23 #include "net/http/http_server_properties_impl.h"
(...skipping 1189 matching lines...) Expand 10 before | Expand all | Expand 10 after
1211 QuicStreamId stream_id = kClientDataStreamId1; 1213 QuicStreamId stream_id = kClientDataStreamId1;
1212 MockQuicData socket_data; 1214 MockQuicData socket_data;
1213 socket_data.AddWrite( 1215 socket_data.AddWrite(
1214 client_maker_.MakeRstPacket(1, true, stream_id, QUIC_STREAM_CANCELLED)); 1216 client_maker_.MakeRstPacket(1, true, stream_id, QUIC_STREAM_CANCELLED));
1215 socket_data.AddRead( 1217 socket_data.AddRead(
1216 server_maker_.MakeRstPacket(1, false, stream_id, QUIC_STREAM_CANCELLED)); 1218 server_maker_.MakeRstPacket(1, false, stream_id, QUIC_STREAM_CANCELLED));
1217 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); 1219 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
1218 socket_data.AddSocketDataToFactory(&socket_factory_); 1220 socket_data.AddSocketDataToFactory(&socket_factory_);
1219 1221
1220 HttpRequestInfo request_info; 1222 HttpRequestInfo request_info;
1221 vector<QuicHttpStream*> streams; 1223 vector<std::unique_ptr<QuicHttpStream>> streams;
1222 // The MockCryptoClientStream sets max_open_streams to be 1224 // The MockCryptoClientStream sets max_open_streams to be
1223 // kDefaultMaxStreamsPerConnection / 2. 1225 // kDefaultMaxStreamsPerConnection / 2.
1224 for (size_t i = 0; i < kDefaultMaxStreamsPerConnection / 2; i++) { 1226 for (size_t i = 0; i < kDefaultMaxStreamsPerConnection / 2; i++) {
1225 QuicStreamRequest request(factory_.get()); 1227 QuicStreamRequest request(factory_.get());
1226 int rv = request.Request(host_port_pair_, privacy_mode_, 1228 int rv = request.Request(host_port_pair_, privacy_mode_,
1227 /*cert_verify_flags=*/0, url_, "GET", net_log_, 1229 /*cert_verify_flags=*/0, url_, "GET", net_log_,
1228 callback_.callback()); 1230 callback_.callback());
1229 if (i == 0) { 1231 if (i == 0) {
1230 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); 1232 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
1231 EXPECT_THAT(callback_.WaitForResult(), IsOk()); 1233 EXPECT_THAT(callback_.WaitForResult(), IsOk());
1232 } else { 1234 } else {
1233 EXPECT_THAT(rv, IsOk()); 1235 EXPECT_THAT(rv, IsOk());
1234 } 1236 }
1235 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); 1237 std::unique_ptr<QuicHttpStream> stream = request.CreateStream();
1236 EXPECT_TRUE(stream); 1238 EXPECT_TRUE(stream);
1237 EXPECT_EQ(OK, stream->InitializeStream(&request_info, DEFAULT_PRIORITY, 1239 EXPECT_EQ(OK, stream->InitializeStream(&request_info, DEFAULT_PRIORITY,
1238 net_log_, CompletionCallback())); 1240 net_log_, CompletionCallback()));
1239 streams.push_back(stream.release()); 1241 streams.push_back(std::move(stream));
1240 } 1242 }
1241 1243
1242 QuicStreamRequest request(factory_.get()); 1244 QuicStreamRequest request(factory_.get());
1243 EXPECT_EQ(OK, request.Request(host_port_pair_, privacy_mode_, 1245 EXPECT_EQ(OK, request.Request(host_port_pair_, privacy_mode_,
1244 /*cert_verify_flags=*/0, url_, "GET", net_log_, 1246 /*cert_verify_flags=*/0, url_, "GET", net_log_,
1245 CompletionCallback())); 1247 CompletionCallback()));
1246 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); 1248 std::unique_ptr<QuicHttpStream> stream = request.CreateStream();
1247 EXPECT_TRUE(stream); 1249 EXPECT_TRUE(stream);
1248 EXPECT_EQ(ERR_IO_PENDING, 1250 EXPECT_EQ(ERR_IO_PENDING,
1249 stream->InitializeStream(&request_info, DEFAULT_PRIORITY, net_log_, 1251 stream->InitializeStream(&request_info, DEFAULT_PRIORITY, net_log_,
1250 callback_.callback())); 1252 callback_.callback()));
1251 1253
1252 // Close the first stream. 1254 // Close the first stream.
1253 streams.front()->Close(false); 1255 streams.front()->Close(false);
1254 // Trigger exchange of RSTs that in turn allow progress for the last 1256 // Trigger exchange of RSTs that in turn allow progress for the last
1255 // stream. 1257 // stream.
1256 EXPECT_THAT(callback_.WaitForResult(), IsOk()); 1258 EXPECT_THAT(callback_.WaitForResult(), IsOk());
1257 1259
1258 EXPECT_TRUE(socket_data.AllReadDataConsumed()); 1260 EXPECT_TRUE(socket_data.AllReadDataConsumed());
1259 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); 1261 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
1260 1262
1261 // Force close of the connection to suppress the generation of RST 1263 // Force close of the connection to suppress the generation of RST
1262 // packets when streams are torn down, which wouldn't be relevant to 1264 // packets when streams are torn down, which wouldn't be relevant to
1263 // this test anyway. 1265 // this test anyway.
1264 QuicChromiumClientSession* session = GetActiveSession(host_port_pair_); 1266 QuicChromiumClientSession* session = GetActiveSession(host_port_pair_);
1265 session->connection()->CloseConnection(QUIC_PUBLIC_RESET, "test", 1267 session->connection()->CloseConnection(QUIC_PUBLIC_RESET, "test",
1266 ConnectionCloseBehavior::SILENT_CLOSE); 1268 ConnectionCloseBehavior::SILENT_CLOSE);
1267
1268 base::STLDeleteElements(&streams);
1269 } 1269 }
1270 1270
1271 TEST_P(QuicStreamFactoryTest, ResolutionErrorInCreate) { 1271 TEST_P(QuicStreamFactoryTest, ResolutionErrorInCreate) {
1272 Initialize(); 1272 Initialize();
1273 MockQuicData socket_data; 1273 MockQuicData socket_data;
1274 socket_data.AddSocketDataToFactory(&socket_factory_); 1274 socket_data.AddSocketDataToFactory(&socket_factory_);
1275 1275
1276 host_resolver_.rules()->AddSimulatedFailure(kDefaultServerHostName); 1276 host_resolver_.rules()->AddSimulatedFailure(kDefaultServerHostName);
1277 1277
1278 QuicStreamRequest request(factory_.get()); 1278 QuicStreamRequest request(factory_.get());
(...skipping 3943 matching lines...) Expand 10 before | Expand all | Expand 10 after
5222 // Clear all cached states. 5222 // Clear all cached states.
5223 factory_->ClearCachedStatesInCryptoConfig( 5223 factory_->ClearCachedStatesInCryptoConfig(
5224 base::Callback<bool(const GURL&)>()); 5224 base::Callback<bool(const GURL&)>());
5225 EXPECT_TRUE(test_cases[0].state->certs().empty()); 5225 EXPECT_TRUE(test_cases[0].state->certs().empty());
5226 EXPECT_TRUE(test_cases[1].state->certs().empty()); 5226 EXPECT_TRUE(test_cases[1].state->certs().empty());
5227 EXPECT_TRUE(test_cases[2].state->certs().empty()); 5227 EXPECT_TRUE(test_cases[2].state->certs().empty());
5228 } 5228 }
5229 5229
5230 } // namespace test 5230 } // namespace test
5231 } // namespace net 5231 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/chromium/quic_stream_factory.cc ('k') | net/quic/core/crypto/crypto_server_config_protobuf.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698