OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/spdy/spdy_session_pool.h" | 5 #include "net/spdy/spdy_session_pool.h" |
6 | 6 |
7 #include <cstddef> | 7 #include <cstddef> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
(...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
503 TEST_P(SpdySessionPoolTest, IPPoolingCloseIdleSessions) { | 503 TEST_P(SpdySessionPoolTest, IPPoolingCloseIdleSessions) { |
504 RunIPPoolingTest(SPDY_POOL_CLOSE_IDLE_SESSIONS); | 504 RunIPPoolingTest(SPDY_POOL_CLOSE_IDLE_SESSIONS); |
505 } | 505 } |
506 | 506 |
507 // Construct a Pool with SpdySessions in various availability states. Simulate | 507 // Construct a Pool with SpdySessions in various availability states. Simulate |
508 // an IP address change. Ensure sessions gracefully shut down. Regression test | 508 // an IP address change. Ensure sessions gracefully shut down. Regression test |
509 // for crbug.com/379469. | 509 // for crbug.com/379469. |
510 TEST_P(SpdySessionPoolTest, IPAddressChanged) { | 510 TEST_P(SpdySessionPoolTest, IPAddressChanged) { |
511 MockConnect connect_data(SYNCHRONOUS, OK); | 511 MockConnect connect_data(SYNCHRONOUS, OK); |
512 session_deps_.host_resolver->set_synchronous_mode(true); | 512 session_deps_.host_resolver->set_synchronous_mode(true); |
513 SpdyTestUtil spdy_util(GetParam()); | 513 |
| 514 // This isn't testing anything having to do with Spdy frames; we |
| 515 // can ignore issues of how dependencies are set. We default to |
| 516 // setting them (when doing the appropriate protocol) since that's |
| 517 // where we're eventually headed for all HTTP/2 connections. |
| 518 SpdyTestUtil spdy_util(GetParam(), true); |
| 519 SpdySession::SetPriorityDependencyDefaultForTesting(true); |
514 | 520 |
515 MockRead reads[] = { | 521 MockRead reads[] = { |
516 MockRead(SYNCHRONOUS, ERR_IO_PENDING) // Stall forever. | 522 MockRead(SYNCHRONOUS, ERR_IO_PENDING) // Stall forever. |
517 }; | 523 }; |
518 scoped_ptr<SpdyFrame> req( | 524 scoped_ptr<SpdyFrame> req( |
519 spdy_util.ConstructSpdyGet("http://www.a.com", false, 1, MEDIUM)); | 525 spdy_util.ConstructSpdyGet("http://www.a.com", false, 1, MEDIUM)); |
520 MockWrite writes[] = {CreateMockWrite(*req, 1)}; | 526 MockWrite writes[] = {CreateMockWrite(*req, 1)}; |
521 | 527 |
522 StaticSocketDataProvider data(reads, arraysize(reads), writes, | 528 StaticSocketDataProvider data(reads, arraysize(reads), writes, |
523 arraysize(writes)); | 529 arraysize(writes)); |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
606 EXPECT_TRUE(sessionA->IsDraining()); | 612 EXPECT_TRUE(sessionA->IsDraining()); |
607 EXPECT_TRUE(sessionB->IsDraining()); | 613 EXPECT_TRUE(sessionB->IsDraining()); |
608 EXPECT_TRUE(sessionC->IsDraining()); | 614 EXPECT_TRUE(sessionC->IsDraining()); |
609 | 615 |
610 // Both streams were closed with an error. | 616 // Both streams were closed with an error. |
611 EXPECT_TRUE(delegateA.StreamIsClosed()); | 617 EXPECT_TRUE(delegateA.StreamIsClosed()); |
612 EXPECT_EQ(ERR_NETWORK_CHANGED, delegateA.WaitForClose()); | 618 EXPECT_EQ(ERR_NETWORK_CHANGED, delegateA.WaitForClose()); |
613 EXPECT_TRUE(delegateB.StreamIsClosed()); | 619 EXPECT_TRUE(delegateB.StreamIsClosed()); |
614 EXPECT_EQ(ERR_NETWORK_CHANGED, delegateB.WaitForClose()); | 620 EXPECT_EQ(ERR_NETWORK_CHANGED, delegateB.WaitForClose()); |
615 #endif // defined(OS_ANDROID) || defined(OS_WIN) || defined(OS_IOS) | 621 #endif // defined(OS_ANDROID) || defined(OS_WIN) || defined(OS_IOS) |
| 622 SpdySession::SetPriorityDependencyDefaultForTesting(false); |
616 } | 623 } |
617 | 624 |
618 } // namespace | 625 } // namespace |
619 | 626 |
620 } // namespace net | 627 } // namespace net |
OLD | NEW |