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

Side by Side Diff: net/tools/quic/end_to_end_test.cc

Issue 2532083005: Rename QuicInMemoryCache to QuicHttpResponseCache. (Closed)
Patch Set: Created 4 years 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/mock_quic_dispatcher.cc ('k') | net/tools/quic/quic_http_response_cache.h » ('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 <stddef.h> 5 #include <stddef.h>
6 #include <sys/epoll.h> 6 #include <sys/epoll.h>
7 7
8 #include <cstdint> 8 #include <cstdint>
9 #include <list> 9 #include <list>
10 #include <memory> 10 #include <memory>
(...skipping 26 matching lines...) Expand all
37 #include "net/quic/test_tools/quic_flow_controller_peer.h" 37 #include "net/quic/test_tools/quic_flow_controller_peer.h"
38 #include "net/quic/test_tools/quic_sent_packet_manager_peer.h" 38 #include "net/quic/test_tools/quic_sent_packet_manager_peer.h"
39 #include "net/quic/test_tools/quic_session_peer.h" 39 #include "net/quic/test_tools/quic_session_peer.h"
40 #include "net/quic/test_tools/quic_spdy_session_peer.h" 40 #include "net/quic/test_tools/quic_spdy_session_peer.h"
41 #include "net/quic/test_tools/quic_stream_peer.h" 41 #include "net/quic/test_tools/quic_stream_peer.h"
42 #include "net/quic/test_tools/quic_stream_sequencer_peer.h" 42 #include "net/quic/test_tools/quic_stream_sequencer_peer.h"
43 #include "net/quic/test_tools/quic_test_utils.h" 43 #include "net/quic/test_tools/quic_test_utils.h"
44 #include "net/test/gtest_util.h" 44 #include "net/test/gtest_util.h"
45 #include "net/tools/epoll_server/epoll_server.h" 45 #include "net/tools/epoll_server/epoll_server.h"
46 #include "net/tools/quic/quic_epoll_connection_helper.h" 46 #include "net/tools/quic/quic_epoll_connection_helper.h"
47 #include "net/tools/quic/quic_in_memory_cache.h" 47 #include "net/tools/quic/quic_http_response_cache.h"
48 #include "net/tools/quic/quic_packet_writer_wrapper.h" 48 #include "net/tools/quic/quic_packet_writer_wrapper.h"
49 #include "net/tools/quic/quic_server.h" 49 #include "net/tools/quic/quic_server.h"
50 #include "net/tools/quic/quic_simple_server_stream.h" 50 #include "net/tools/quic/quic_simple_server_stream.h"
51 #include "net/tools/quic/quic_socket_utils.h" 51 #include "net/tools/quic/quic_socket_utils.h"
52 #include "net/tools/quic/quic_spdy_client_stream.h" 52 #include "net/tools/quic/quic_spdy_client_stream.h"
53 #include "net/tools/quic/test_tools/packet_dropping_test_writer.h" 53 #include "net/tools/quic/test_tools/packet_dropping_test_writer.h"
54 #include "net/tools/quic/test_tools/packet_reordering_writer.h" 54 #include "net/tools/quic/test_tools/packet_reordering_writer.h"
55 #include "net/tools/quic/test_tools/quic_client_peer.h" 55 #include "net/tools/quic/test_tools/quic_client_peer.h"
56 #include "net/tools/quic/test_tools/quic_dispatcher_peer.h" 56 #include "net/tools/quic/test_tools/quic_dispatcher_peer.h"
57 #include "net/tools/quic/test_tools/quic_server_peer.h" 57 #include "net/tools/quic/test_tools/quic_server_peer.h"
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
422 << "case. Otherwise, your test will leak memory."; 422 << "case. Otherwise, your test will leak memory.";
423 StopServer(); 423 StopServer();
424 } 424 }
425 425
426 void StartServer() { 426 void StartServer() {
427 FLAGS_quic_use_cheap_stateless_rejects = 427 FLAGS_quic_use_cheap_stateless_rejects =
428 GetParam().use_cheap_stateless_reject; 428 GetParam().use_cheap_stateless_reject;
429 429
430 auto test_server = new QuicTestServer( 430 auto test_server = new QuicTestServer(
431 CryptoTestUtils::ProofSourceForTesting(), server_config_, 431 CryptoTestUtils::ProofSourceForTesting(), server_config_,
432 server_supported_versions_, &in_memory_cache_); 432 server_supported_versions_, &response_cache_);
433 server_thread_.reset(new ServerThread(test_server, server_address_)); 433 server_thread_.reset(new ServerThread(test_server, server_address_));
434 if (chlo_multiplier_ != 0) { 434 if (chlo_multiplier_ != 0) {
435 server_thread_->server()->SetChloMultiplier(chlo_multiplier_); 435 server_thread_->server()->SetChloMultiplier(chlo_multiplier_);
436 } 436 }
437 server_thread_->Initialize(); 437 server_thread_->Initialize();
438 server_address_ = 438 server_address_ =
439 QuicSocketAddress(server_address_.host(), server_thread_->GetPort()); 439 QuicSocketAddress(server_address_.host(), server_thread_->GetPort());
440 QuicDispatcher* dispatcher = 440 QuicDispatcher* dispatcher =
441 QuicServerPeer::GetDispatcher(server_thread_->server()); 441 QuicServerPeer::GetDispatcher(server_thread_->server());
442 QuicDispatcherPeer::UseWriter(dispatcher, server_writer_); 442 QuicDispatcherPeer::UseWriter(dispatcher, server_writer_);
(...skipping 16 matching lines...) Expand all
459 void StopServer() { 459 void StopServer() {
460 if (!server_started_) 460 if (!server_started_)
461 return; 461 return;
462 if (server_thread_.get()) { 462 if (server_thread_.get()) {
463 server_thread_->Quit(); 463 server_thread_->Quit();
464 server_thread_->Join(); 464 server_thread_->Join();
465 } 465 }
466 } 466 }
467 467
468 void AddToCache(StringPiece path, int response_code, StringPiece body) { 468 void AddToCache(StringPiece path, int response_code, StringPiece body) {
469 in_memory_cache_.AddSimpleResponse(server_hostname_, path, response_code, 469 response_cache_.AddSimpleResponse(server_hostname_, path, response_code,
470 body); 470 body);
471 } 471 }
472 472
473 void SetPacketLossPercentage(int32_t loss) { 473 void SetPacketLossPercentage(int32_t loss) {
474 // TODO(rtenneti): enable when we can do random packet loss tests in 474 // TODO(rtenneti): enable when we can do random packet loss tests in
475 // chrome's tree. 475 // chrome's tree.
476 if (loss != 0 && loss != 100) 476 if (loss != 0 && loss != 100)
477 return; 477 return;
478 client_writer_->set_fake_packet_loss_percentage(loss); 478 client_writer_->set_fake_packet_loss_percentage(loss);
479 server_writer_->set_fake_packet_loss_percentage(loss); 479 server_writer_->set_fake_packet_loss_percentage(loss);
480 } 480 }
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 550
551 // Must be called before Initialize to have effect. 551 // Must be called before Initialize to have effect.
552 void SetSpdyStreamFactory(QuicTestServer::StreamFactory* factory) { 552 void SetSpdyStreamFactory(QuicTestServer::StreamFactory* factory) {
553 stream_factory_ = factory; 553 stream_factory_ = factory;
554 } 554 }
555 555
556 QuicFlagSaver flags_; // Save/restore all QUIC flag values. 556 QuicFlagSaver flags_; // Save/restore all QUIC flag values.
557 bool initialized_; 557 bool initialized_;
558 QuicSocketAddress server_address_; 558 QuicSocketAddress server_address_;
559 string server_hostname_; 559 string server_hostname_;
560 QuicInMemoryCache in_memory_cache_; 560 QuicHttpResponseCache response_cache_;
561 std::unique_ptr<ServerThread> server_thread_; 561 std::unique_ptr<ServerThread> server_thread_;
562 std::unique_ptr<QuicTestClient> client_; 562 std::unique_ptr<QuicTestClient> client_;
563 PacketDroppingTestWriter* client_writer_; 563 PacketDroppingTestWriter* client_writer_;
564 PacketDroppingTestWriter* server_writer_; 564 PacketDroppingTestWriter* server_writer_;
565 bool server_started_; 565 bool server_started_;
566 QuicConfig client_config_; 566 QuicConfig client_config_;
567 QuicConfig server_config_; 567 QuicConfig server_config_;
568 QuicVersionVector client_supported_versions_; 568 QuicVersionVector client_supported_versions_;
569 QuicVersionVector server_supported_versions_; 569 QuicVersionVector server_supported_versions_;
570 QuicVersion negotiated_version_; 570 QuicVersion negotiated_version_;
(...skipping 1556 matching lines...) Expand 10 before | Expand all | Expand 10 after
2127 // The connection should not be terminated. 2127 // The connection should not be terminated.
2128 EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo")); 2128 EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
2129 EXPECT_EQ("200", client_->response_headers()->find(":status")->second); 2129 EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
2130 } 2130 }
2131 2131
2132 // A test stream that gives |response_body_| as an error response body. 2132 // A test stream that gives |response_body_| as an error response body.
2133 class ServerStreamWithErrorResponseBody : public QuicSimpleServerStream { 2133 class ServerStreamWithErrorResponseBody : public QuicSimpleServerStream {
2134 public: 2134 public:
2135 ServerStreamWithErrorResponseBody(QuicStreamId id, 2135 ServerStreamWithErrorResponseBody(QuicStreamId id,
2136 QuicSpdySession* session, 2136 QuicSpdySession* session,
2137 QuicInMemoryCache* in_memory_cache, 2137 QuicHttpResponseCache* response_cache,
2138 string response_body) 2138 string response_body)
2139 : QuicSimpleServerStream(id, session, in_memory_cache), 2139 : QuicSimpleServerStream(id, session, response_cache),
2140 response_body_(std::move(response_body)) {} 2140 response_body_(std::move(response_body)) {}
2141 2141
2142 ~ServerStreamWithErrorResponseBody() override {} 2142 ~ServerStreamWithErrorResponseBody() override {}
2143 2143
2144 protected: 2144 protected:
2145 void SendErrorResponse() override { 2145 void SendErrorResponse() override {
2146 DVLOG(1) << "Sending error response for stream " << id(); 2146 DVLOG(1) << "Sending error response for stream " << id();
2147 SpdyHeaderBlock headers; 2147 SpdyHeaderBlock headers;
2148 headers[":status"] = "500"; 2148 headers[":status"] = "500";
2149 headers["content-length"] = base::UintToString(response_body_.size()); 2149 headers["content-length"] = base::UintToString(response_body_.size());
2150 // This method must call CloseReadSide to cause the test case, StopReading 2150 // This method must call CloseReadSide to cause the test case, StopReading
2151 // is not sufficient. 2151 // is not sufficient.
2152 QuicStreamPeer::CloseReadSide(this); 2152 QuicStreamPeer::CloseReadSide(this);
2153 SendHeadersAndBody(std::move(headers), response_body_); 2153 SendHeadersAndBody(std::move(headers), response_body_);
2154 } 2154 }
2155 2155
2156 string response_body_; 2156 string response_body_;
2157 }; 2157 };
2158 2158
2159 class StreamWithErrorFactory : public QuicTestServer::StreamFactory { 2159 class StreamWithErrorFactory : public QuicTestServer::StreamFactory {
2160 public: 2160 public:
2161 explicit StreamWithErrorFactory(string response_body) 2161 explicit StreamWithErrorFactory(string response_body)
2162 : response_body_(std::move(response_body)) {} 2162 : response_body_(std::move(response_body)) {}
2163 2163
2164 ~StreamWithErrorFactory() override {} 2164 ~StreamWithErrorFactory() override {}
2165 2165
2166 QuicSimpleServerStream* CreateStream( 2166 QuicSimpleServerStream* CreateStream(
2167 QuicStreamId id, 2167 QuicStreamId id,
2168 QuicSpdySession* session, 2168 QuicSpdySession* session,
2169 QuicInMemoryCache* in_memory_cache) override { 2169 QuicHttpResponseCache* response_cache) override {
2170 return new ServerStreamWithErrorResponseBody(id, session, in_memory_cache, 2170 return new ServerStreamWithErrorResponseBody(id, session, response_cache,
2171 response_body_); 2171 response_body_);
2172 } 2172 }
2173 2173
2174 private: 2174 private:
2175 string response_body_; 2175 string response_body_;
2176 }; 2176 };
2177 2177
2178 // A test server stream that drops all received body. 2178 // A test server stream that drops all received body.
2179 class ServerStreamThatDropsBody : public QuicSimpleServerStream { 2179 class ServerStreamThatDropsBody : public QuicSimpleServerStream {
2180 public: 2180 public:
2181 ServerStreamThatDropsBody(QuicStreamId id, 2181 ServerStreamThatDropsBody(QuicStreamId id,
2182 QuicSpdySession* session, 2182 QuicSpdySession* session,
2183 QuicInMemoryCache* in_memory_cache) 2183 QuicHttpResponseCache* response_cache)
2184 : QuicSimpleServerStream(id, session, in_memory_cache) {} 2184 : QuicSimpleServerStream(id, session, response_cache) {}
2185 2185
2186 ~ServerStreamThatDropsBody() override {} 2186 ~ServerStreamThatDropsBody() override {}
2187 2187
2188 protected: 2188 protected:
2189 void OnDataAvailable() override { 2189 void OnDataAvailable() override {
2190 while (HasBytesToRead()) { 2190 while (HasBytesToRead()) {
2191 struct iovec iov; 2191 struct iovec iov;
2192 if (GetReadableRegions(&iov, 1) == 0) { 2192 if (GetReadableRegions(&iov, 1) == 0) {
2193 // No more data to read. 2193 // No more data to read.
2194 break; 2194 break;
(...skipping 21 matching lines...) Expand all
2216 2216
2217 class ServerStreamThatDropsBodyFactory : public QuicTestServer::StreamFactory { 2217 class ServerStreamThatDropsBodyFactory : public QuicTestServer::StreamFactory {
2218 public: 2218 public:
2219 ServerStreamThatDropsBodyFactory() {} 2219 ServerStreamThatDropsBodyFactory() {}
2220 2220
2221 ~ServerStreamThatDropsBodyFactory() override{}; 2221 ~ServerStreamThatDropsBodyFactory() override{};
2222 2222
2223 QuicSimpleServerStream* CreateStream( 2223 QuicSimpleServerStream* CreateStream(
2224 QuicStreamId id, 2224 QuicStreamId id,
2225 QuicSpdySession* session, 2225 QuicSpdySession* session,
2226 QuicInMemoryCache* in_memory_cache) override { 2226 QuicHttpResponseCache* response_cache) override {
2227 return new ServerStreamThatDropsBody(id, session, in_memory_cache); 2227 return new ServerStreamThatDropsBody(id, session, response_cache);
2228 } 2228 }
2229 }; 2229 };
2230 2230
2231 // A test server stream that sends response with body size greater than 4GB. 2231 // A test server stream that sends response with body size greater than 4GB.
2232 class ServerStreamThatSendsHugeResponse : public QuicSimpleServerStream { 2232 class ServerStreamThatSendsHugeResponse : public QuicSimpleServerStream {
2233 public: 2233 public:
2234 ServerStreamThatSendsHugeResponse(QuicStreamId id, 2234 ServerStreamThatSendsHugeResponse(QuicStreamId id,
2235 QuicSpdySession* session, 2235 QuicSpdySession* session,
2236 QuicInMemoryCache* in_memory_cache, 2236 QuicHttpResponseCache* response_cache,
2237 int64_t body_bytes) 2237 int64_t body_bytes)
2238 : QuicSimpleServerStream(id, session, in_memory_cache), 2238 : QuicSimpleServerStream(id, session, response_cache),
2239 body_bytes_(body_bytes) {} 2239 body_bytes_(body_bytes) {}
2240 2240
2241 ~ServerStreamThatSendsHugeResponse() override {} 2241 ~ServerStreamThatSendsHugeResponse() override {}
2242 2242
2243 protected: 2243 protected:
2244 void SendResponse() override { 2244 void SendResponse() override {
2245 QuicInMemoryCache::Response response; 2245 QuicHttpResponseCache::Response response;
2246 string body(body_bytes_, 'a'); 2246 string body(body_bytes_, 'a');
2247 response.set_body(body); 2247 response.set_body(body);
2248 SendHeadersAndBodyAndTrailers(response.headers().Clone(), response.body(), 2248 SendHeadersAndBodyAndTrailers(response.headers().Clone(), response.body(),
2249 response.trailers().Clone()); 2249 response.trailers().Clone());
2250 } 2250 }
2251 2251
2252 private: 2252 private:
2253 // Use a explicit int64_t rather than size_t to simulate a 64-bit server 2253 // Use a explicit int64_t rather than size_t to simulate a 64-bit server
2254 // talking to a 32-bit client. 2254 // talking to a 32-bit client.
2255 int64_t body_bytes_; 2255 int64_t body_bytes_;
2256 }; 2256 };
2257 2257
2258 class ServerStreamThatSendsHugeResponseFactory 2258 class ServerStreamThatSendsHugeResponseFactory
2259 : public QuicTestServer::StreamFactory { 2259 : public QuicTestServer::StreamFactory {
2260 public: 2260 public:
2261 explicit ServerStreamThatSendsHugeResponseFactory(int64_t body_bytes) 2261 explicit ServerStreamThatSendsHugeResponseFactory(int64_t body_bytes)
2262 : body_bytes_(body_bytes) {} 2262 : body_bytes_(body_bytes) {}
2263 2263
2264 ~ServerStreamThatSendsHugeResponseFactory() override{}; 2264 ~ServerStreamThatSendsHugeResponseFactory() override{};
2265 2265
2266 QuicSimpleServerStream* CreateStream( 2266 QuicSimpleServerStream* CreateStream(
2267 QuicStreamId id, 2267 QuicStreamId id,
2268 QuicSpdySession* session, 2268 QuicSpdySession* session,
2269 QuicInMemoryCache* in_memory_cache) override { 2269 QuicHttpResponseCache* response_cache) override {
2270 return new ServerStreamThatSendsHugeResponse(id, session, in_memory_cache, 2270 return new ServerStreamThatSendsHugeResponse(id, session, response_cache,
2271 body_bytes_); 2271 body_bytes_);
2272 } 2272 }
2273 2273
2274 int64_t body_bytes_; 2274 int64_t body_bytes_;
2275 }; 2275 };
2276 2276
2277 // A test client stream that drops all received body. 2277 // A test client stream that drops all received body.
2278 class ClientStreamThatDropsBody : public QuicSpdyClientStream { 2278 class ClientStreamThatDropsBody : public QuicSpdyClientStream {
2279 public: 2279 public:
2280 ClientStreamThatDropsBody(QuicStreamId id, QuicClientSession* session) 2280 ClientStreamThatDropsBody(QuicStreamId id, QuicClientSession* session)
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
2477 const string kBody = "body content"; 2477 const string kBody = "body content";
2478 2478
2479 SpdyHeaderBlock headers; 2479 SpdyHeaderBlock headers;
2480 headers[":status"] = "200"; 2480 headers[":status"] = "200";
2481 headers[":version"] = "HTTP/1.1"; 2481 headers[":version"] = "HTTP/1.1";
2482 headers["content-length"] = IntToString(kBody.size()); 2482 headers["content-length"] = IntToString(kBody.size());
2483 2483
2484 SpdyHeaderBlock trailers; 2484 SpdyHeaderBlock trailers;
2485 trailers["some-trailing-header"] = "trailing-header-value"; 2485 trailers["some-trailing-header"] = "trailing-header-value";
2486 2486
2487 in_memory_cache_.AddResponse(server_hostname_, "/trailer_url", 2487 response_cache_.AddResponse(server_hostname_, "/trailer_url",
2488 std::move(headers), kBody, trailers.Clone()); 2488 std::move(headers), kBody, trailers.Clone());
2489 2489
2490 EXPECT_EQ(kBody, client_->SendSynchronousRequest("/trailer_url")); 2490 EXPECT_EQ(kBody, client_->SendSynchronousRequest("/trailer_url"));
2491 EXPECT_EQ("200", client_->response_headers()->find(":status")->second); 2491 EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
2492 EXPECT_EQ(trailers, client_->response_trailers()); 2492 EXPECT_EQ(trailers, client_->response_trailers());
2493 } 2493 }
2494 2494
2495 class EndToEndTestServerPush : public EndToEndTest { 2495 class EndToEndTestServerPush : public EndToEndTest {
2496 protected: 2496 protected:
2497 const size_t kNumMaxStreams = 10; 2497 const size_t kNumMaxStreams = 10;
2498 2498
(...skipping 16 matching lines...) Expand all
2515 string* push_urls, 2515 string* push_urls,
2516 const size_t num_resources, 2516 const size_t num_resources,
2517 const size_t resource_size) { 2517 const size_t resource_size) {
2518 bool use_large_response = resource_size != 0; 2518 bool use_large_response = resource_size != 0;
2519 string large_resource; 2519 string large_resource;
2520 if (use_large_response) { 2520 if (use_large_response) {
2521 // Generate a response common body larger than flow control window for 2521 // Generate a response common body larger than flow control window for
2522 // push response. 2522 // push response.
2523 large_resource = string(resource_size, 'a'); 2523 large_resource = string(resource_size, 'a');
2524 } 2524 }
2525 std::list<QuicInMemoryCache::ServerPushInfo> push_resources; 2525 std::list<QuicHttpResponseCache::ServerPushInfo> push_resources;
2526 for (size_t i = 0; i < num_resources; ++i) { 2526 for (size_t i = 0; i < num_resources; ++i) {
2527 string url = push_urls[i]; 2527 string url = push_urls[i];
2528 GURL resource_url(url); 2528 GURL resource_url(url);
2529 string body = use_large_response 2529 string body = use_large_response
2530 ? large_resource 2530 ? large_resource
2531 : "This is server push response body for " + url; 2531 : "This is server push response body for " + url;
2532 SpdyHeaderBlock response_headers; 2532 SpdyHeaderBlock response_headers;
2533 response_headers[":version"] = "HTTP/1.1"; 2533 response_headers[":version"] = "HTTP/1.1";
2534 response_headers[":status"] = "200"; 2534 response_headers[":status"] = "200";
2535 response_headers["content-length"] = IntToString(body.size()); 2535 response_headers["content-length"] = IntToString(body.size());
2536 push_resources.push_back(QuicInMemoryCache::ServerPushInfo( 2536 push_resources.push_back(QuicHttpResponseCache::ServerPushInfo(
2537 resource_url, std::move(response_headers), kV3LowestPriority, body)); 2537 resource_url, std::move(response_headers), kV3LowestPriority, body));
2538 } 2538 }
2539 2539
2540 in_memory_cache_.AddSimpleResponseWithServerPushResources( 2540 response_cache_.AddSimpleResponseWithServerPushResources(
2541 host, path, 200, response_body, push_resources); 2541 host, path, 200, response_body, push_resources);
2542 } 2542 }
2543 }; 2543 };
2544 2544
2545 // Run all server push end to end tests with all supported versions. 2545 // Run all server push end to end tests with all supported versions.
2546 INSTANTIATE_TEST_CASE_P(EndToEndTestsServerPush, 2546 INSTANTIATE_TEST_CASE_P(EndToEndTestsServerPush,
2547 EndToEndTestServerPush, 2547 EndToEndTestServerPush,
2548 ::testing::ValuesIn(GetTestParams())); 2548 ::testing::ValuesIn(GetTestParams()));
2549 2549
2550 TEST_P(EndToEndTestServerPush, ServerPush) { 2550 TEST_P(EndToEndTestServerPush, ServerPush) {
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after
2940 client_->WaitForResponse(); 2940 client_->WaitForResponse();
2941 EXPECT_EQ(kBarResponseBody, client_->response_body()); 2941 EXPECT_EQ(kBarResponseBody, client_->response_body());
2942 QuicConnectionStats client_stats = 2942 QuicConnectionStats client_stats =
2943 client_->client()->session()->connection()->GetStats(); 2943 client_->client()->session()->connection()->GetStats();
2944 EXPECT_EQ(0u, client_stats.packets_lost); 2944 EXPECT_EQ(0u, client_stats.packets_lost);
2945 EXPECT_EQ(1, client_->client()->GetNumSentClientHellos()); 2945 EXPECT_EQ(1, client_->client()->GetNumSentClientHellos());
2946 } 2946 }
2947 } // namespace 2947 } // namespace
2948 } // namespace test 2948 } // namespace test
2949 } // namespace net 2949 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/test_tools/mock_quic_dispatcher.cc ('k') | net/tools/quic/quic_http_response_cache.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698