| Index: webrtc/p2p/base/portallocator_unittest.cc | 
| diff --git a/webrtc/p2p/base/portallocator_unittest.cc b/webrtc/p2p/base/portallocator_unittest.cc | 
| index a97cf305b7330c766f979406e71fd4a16a73b15c..74e2a3dc1fa35a3c4d2dbdb19691348f433649b0 100644 | 
| --- a/webrtc/p2p/base/portallocator_unittest.cc | 
| +++ b/webrtc/p2p/base/portallocator_unittest.cc | 
| @@ -32,9 +32,15 @@ class PortAllocatorTest : public testing::Test, public sigslot::has_slots<> { | 
|  | 
| protected: | 
| void SetConfigurationWithPoolSize(int candidate_pool_size) { | 
| -    allocator_->SetConfiguration(cricket::ServerAddresses(), | 
| -                                 std::vector<cricket::RelayServerConfig>(), | 
| -                                 candidate_pool_size, false); | 
| +    EXPECT_TRUE(allocator_->SetConfiguration( | 
| +        cricket::ServerAddresses(), std::vector<cricket::RelayServerConfig>(), | 
| +        candidate_pool_size, false)); | 
| +  } | 
| + | 
| +  void SetConfigurationWithPoolSizeExpectFailure(int candidate_pool_size) { | 
| +    EXPECT_FALSE(allocator_->SetConfiguration( | 
| +        cricket::ServerAddresses(), std::vector<cricket::RelayServerConfig>(), | 
| +        candidate_pool_size, false)); | 
| } | 
|  | 
| std::unique_ptr<cricket::FakePortAllocatorSession> CreateSession( | 
| @@ -104,14 +110,16 @@ TEST_F(PortAllocatorTest, CreateSession) { | 
| TEST_F(PortAllocatorTest, SetConfigurationUpdatesIceServers) { | 
| cricket::ServerAddresses stun_servers_1 = {stun_server_1}; | 
| std::vector<cricket::RelayServerConfig> turn_servers_1 = {turn_server_1}; | 
| -  allocator_->SetConfiguration(stun_servers_1, turn_servers_1, 0, false); | 
| +  EXPECT_TRUE( | 
| +      allocator_->SetConfiguration(stun_servers_1, turn_servers_1, 0, false)); | 
| EXPECT_EQ(stun_servers_1, allocator_->stun_servers()); | 
| EXPECT_EQ(turn_servers_1, allocator_->turn_servers()); | 
|  | 
| // Update with a different set of servers. | 
| cricket::ServerAddresses stun_servers_2 = {stun_server_2}; | 
| std::vector<cricket::RelayServerConfig> turn_servers_2 = {turn_server_2}; | 
| -  allocator_->SetConfiguration(stun_servers_2, turn_servers_2, 0, false); | 
| +  EXPECT_TRUE( | 
| +      allocator_->SetConfiguration(stun_servers_2, turn_servers_2, 0, false)); | 
| EXPECT_EQ(stun_servers_2, allocator_->stun_servers()); | 
| EXPECT_EQ(turn_servers_2, allocator_->turn_servers()); | 
| } | 
| @@ -128,9 +136,8 @@ TEST_F(PortAllocatorTest, SetConfigurationUpdatesCandidatePoolSize) { | 
| } | 
|  | 
| // A negative pool size should just be treated as zero. | 
| -TEST_F(PortAllocatorTest, SetConfigurationWithNegativePoolSizeDoesntCrash) { | 
| -  SetConfigurationWithPoolSize(-1); | 
| -  // No asserts; we're just testing that this doesn't crash. | 
| +TEST_F(PortAllocatorTest, SetConfigurationWithNegativePoolSizeFails) { | 
| +  SetConfigurationWithPoolSizeExpectFailure(-1); | 
| } | 
|  | 
| // Test that if the candidate pool size is nonzero, pooled sessions are | 
| @@ -162,18 +169,16 @@ TEST_F(PortAllocatorTest, SetConfigurationDestroysPooledSessions) { | 
| EXPECT_EQ(1, GetAllPooledSessionsReturnCount()); | 
| } | 
|  | 
| -// Test that if the candidate pool size is reduced and increased, but reducing | 
| -// didn't actually destroy any sessions (because they were already given away), | 
| -// increasing the size to its initial value doesn't create a new session. | 
| -TEST_F(PortAllocatorTest, SetConfigurationDoesntCreateExtraSessions) { | 
| +// Test that after the pool starts to be drained, changing the pool size is not | 
| +// allowed. | 
| +TEST_F(PortAllocatorTest, CantChangePoolSizeAfterTakePooledSession) { | 
| SetConfigurationWithPoolSize(1); | 
| TakePooledSession(); | 
| -  SetConfigurationWithPoolSize(0); | 
| -  SetConfigurationWithPoolSize(1); | 
| -  EXPECT_EQ(0, GetAllPooledSessionsReturnCount()); | 
| +  SetConfigurationWithPoolSizeExpectFailure(2); | 
| +  SetConfigurationWithPoolSizeExpectFailure(0); | 
| } | 
|  | 
| -// According to JSEP, exising pooled sessions should be destroyed and new | 
| +// According to JSEP, existing pooled sessions should be destroyed and new | 
| // ones created when the ICE servers change. | 
| TEST_F(PortAllocatorTest, | 
| SetConfigurationRecreatesPooledSessionsWhenIceServersChange) { | 
|  |