Chromium Code Reviews| Index: webrtc/p2p/base/stunport_unittest.cc | 
| diff --git a/webrtc/p2p/base/stunport_unittest.cc b/webrtc/p2p/base/stunport_unittest.cc | 
| index 522369d487c391245d60c1edad292fe29dcdbdf6..d7b6e6ef30767040867581eb4fec52727922d69a 100644 | 
| --- a/webrtc/p2p/base/stunport_unittest.cc | 
| +++ b/webrtc/p2p/base/stunport_unittest.cc | 
| @@ -58,7 +58,7 @@ class StunPortTest : public testing::Test, | 
| kStunAddr2)), | 
| done_(false), | 
| error_(false), | 
| - stun_keepalive_delay_(0), | 
| + stun_keepalive_delay_(1), | 
| stun_keepalive_lifetime_(-1) {} | 
| cricket::UDPPort* port() const { return stun_port_.get(); } | 
| @@ -160,7 +160,10 @@ class StunPortTest : public testing::Test, | 
| return stun_server_2_.get(); | 
| } | 
| + rtc::FakeClock& fake_clock() { return fake_clock_; } | 
| + | 
| private: | 
| + rtc::ScopedFakeClock fake_clock_; | 
| std::unique_ptr<rtc::PhysicalSocketServer> pss_; | 
| std::unique_ptr<rtc::VirtualSocketServer> ss_; | 
| rtc::SocketServerScope ss_scope_; | 
| @@ -194,7 +197,7 @@ TEST_F(StunPortTest, TestCreateUdpPort) { | 
| TEST_F(StunPortTest, TestPrepareAddress) { | 
| CreateStunPort(kStunAddr1); | 
| PrepareAddress(); | 
| - EXPECT_TRUE_WAIT(done(), kTimeoutMs); | 
| + EXPECT_TRUE_SIMULATED_WAIT(done(), kTimeoutMs, fake_clock()); | 
| ASSERT_EQ(1U, port()->Candidates().size()); | 
| EXPECT_TRUE(kLocalAddr.EqualIPs(port()->Candidates()[0].address())); | 
| @@ -206,7 +209,7 @@ TEST_F(StunPortTest, TestPrepareAddress) { | 
| TEST_F(StunPortTest, TestPrepareAddressFail) { | 
| CreateStunPort(kBadAddr); | 
| PrepareAddress(); | 
| - EXPECT_TRUE_WAIT(done(), kTimeoutMs); | 
| + EXPECT_TRUE_SIMULATED_WAIT(done(), kTimeoutMs, fake_clock()); | 
| EXPECT_TRUE(error()); | 
| EXPECT_EQ(0U, port()->Candidates().size()); | 
| } | 
| @@ -215,7 +218,7 @@ TEST_F(StunPortTest, TestPrepareAddressFail) { | 
| TEST_F(StunPortTest, TestPrepareAddressHostname) { | 
| CreateStunPort(kStunHostnameAddr); | 
| PrepareAddress(); | 
| - EXPECT_TRUE_WAIT(done(), kTimeoutMs); | 
| + EXPECT_TRUE_SIMULATED_WAIT(done(), kTimeoutMs, fake_clock()); | 
| ASSERT_EQ(1U, port()->Candidates().size()); | 
| EXPECT_TRUE(kLocalAddr.EqualIPs(port()->Candidates()[0].address())); | 
| EXPECT_EQ(kStunCandidatePriority, port()->Candidates()[0].priority()); | 
| @@ -225,7 +228,7 @@ TEST_F(StunPortTest, TestPrepareAddressHostname) { | 
| TEST_F(StunPortTest, TestPrepareAddressHostnameFail) { | 
| CreateStunPort(kBadHostnameAddr); | 
| PrepareAddress(); | 
| - EXPECT_TRUE_WAIT(done(), kTimeoutMs); | 
| + EXPECT_TRUE_SIMULATED_WAIT(done(), kTimeoutMs, fake_clock()); | 
| EXPECT_TRUE(error()); | 
| EXPECT_EQ(0U, port()->Candidates().size()); | 
| } | 
| @@ -236,20 +239,17 @@ TEST_F(StunPortTest, TestKeepAliveResponse) { | 
| SetKeepaliveDelay(500); // 500ms of keepalive delay. | 
| CreateStunPort(kStunHostnameAddr); | 
| PrepareAddress(); | 
| - EXPECT_TRUE_WAIT(done(), kTimeoutMs); | 
| + EXPECT_TRUE_SIMULATED_WAIT(done(), kTimeoutMs, fake_clock()); | 
| ASSERT_EQ(1U, port()->Candidates().size()); | 
| EXPECT_TRUE(kLocalAddr.EqualIPs(port()->Candidates()[0].address())); | 
| - // Waiting for 1 seond, which will allow us to process | 
| - // response for keepalive binding request. 500 ms is the keepalive delay. | 
| - rtc::Thread::Current()->ProcessMessages(1000); | 
| - ASSERT_EQ(1U, port()->Candidates().size()); | 
| + EXPECT_EQ_SIMULATED_WAIT(1U, port()->Candidates().size(), 500, fake_clock()); | 
| 
 
Taylor Brandstetter
2017/02/08 01:23:59
This should do SIMULATED_WAIT(false, 1000, fake_cl
 
pthatcher1
2017/02/08 08:52:24
Done.
 
 | 
| } | 
| // Test that a local candidate can be generated using a shared socket. | 
| TEST_F(StunPortTest, TestSharedSocketPrepareAddress) { | 
| CreateSharedUdpPort(kStunAddr1); | 
| PrepareAddress(); | 
| - EXPECT_TRUE_WAIT(done(), kTimeoutMs); | 
| + EXPECT_TRUE_SIMULATED_WAIT(done(), kTimeoutMs, fake_clock()); | 
| ASSERT_EQ(1U, port()->Candidates().size()); | 
| EXPECT_TRUE(kLocalAddr.EqualIPs(port()->Candidates()[0].address())); | 
| } | 
| @@ -260,7 +260,7 @@ TEST_F(StunPortTest, TestSharedSocketPrepareAddress) { | 
| TEST_F(StunPortTest, TestSharedSocketPrepareAddressInvalidHostname) { | 
| CreateSharedUdpPort(kBadHostnameAddr); | 
| PrepareAddress(); | 
| - EXPECT_TRUE_WAIT(done(), kTimeoutMs); | 
| + EXPECT_TRUE_SIMULATED_WAIT(done(), kTimeoutMs, fake_clock()); | 
| ASSERT_EQ(1U, port()->Candidates().size()); | 
| EXPECT_TRUE(kLocalAddr.EqualIPs(port()->Candidates()[0].address())); | 
| @@ -279,7 +279,7 @@ TEST_F(StunPortTest, TestNoDuplicatedAddressWithTwoStunServers) { | 
| CreateStunPort(stun_servers); | 
| EXPECT_EQ("stun", port()->Type()); | 
| PrepareAddress(); | 
| - EXPECT_TRUE_WAIT(done(), kTimeoutMs); | 
| + EXPECT_TRUE_SIMULATED_WAIT(done(), kTimeoutMs, fake_clock()); | 
| EXPECT_EQ(1U, port()->Candidates().size()); | 
| EXPECT_EQ(port()->Candidates()[0].relay_protocol(), ""); | 
| } | 
| @@ -293,7 +293,7 @@ TEST_F(StunPortTest, TestMultipleStunServersWithBadServer) { | 
| CreateStunPort(stun_servers); | 
| EXPECT_EQ("stun", port()->Type()); | 
| PrepareAddress(); | 
| - EXPECT_TRUE_WAIT(done(), kTimeoutMs); | 
| + EXPECT_TRUE_SIMULATED_WAIT(done(), kTimeoutMs, fake_clock()); | 
| EXPECT_EQ(1U, port()->Candidates().size()); | 
| } | 
| @@ -311,7 +311,7 @@ TEST_F(StunPortTest, TestTwoCandidatesWithTwoStunServersAcrossNat) { | 
| CreateStunPort(stun_servers); | 
| EXPECT_EQ("stun", port()->Type()); | 
| PrepareAddress(); | 
| - EXPECT_TRUE_WAIT(done(), kTimeoutMs); | 
| + EXPECT_TRUE_SIMULATED_WAIT(done(), kTimeoutMs, fake_clock()); | 
| EXPECT_EQ(2U, port()->Candidates().size()); | 
| EXPECT_EQ(port()->Candidates()[0].relay_protocol(), ""); | 
| EXPECT_EQ(port()->Candidates()[1].relay_protocol(), ""); | 
| @@ -360,9 +360,10 @@ TEST_F(StunPortTest, TestStunBindingRequestShortLifetime) { | 
| SetKeepaliveLifetime(100); | 
| CreateStunPort(kStunAddr1); | 
| PrepareAddress(); | 
| - EXPECT_TRUE_WAIT(done(), kTimeoutMs); | 
| - EXPECT_TRUE_WAIT(!port()->HasPendingRequest(cricket::STUN_BINDING_REQUEST), | 
| - 2000); | 
| + EXPECT_TRUE_SIMULATED_WAIT(done(), kTimeoutMs, fake_clock()); | 
| + EXPECT_TRUE_SIMULATED_WAIT( | 
| + !port()->HasPendingRequest(cricket::STUN_BINDING_REQUEST), 2000, | 
| + fake_clock()); | 
| } | 
| // Test that by default, the STUN binding requests will last for a long time. | 
| @@ -370,7 +371,8 @@ TEST_F(StunPortTest, TestStunBindingRequestLongLifetime) { | 
| SetKeepaliveDelay(101); | 
| CreateStunPort(kStunAddr1); | 
| PrepareAddress(); | 
| - EXPECT_TRUE_WAIT(done(), kTimeoutMs); | 
| - rtc::Thread::Current()->ProcessMessages(1000); | 
| - EXPECT_TRUE(port()->HasPendingRequest(cricket::STUN_BINDING_REQUEST)); | 
| + EXPECT_TRUE_SIMULATED_WAIT(done(), kTimeoutMs, fake_clock()); | 
| + EXPECT_TRUE_SIMULATED_WAIT( | 
| + port()->HasPendingRequest(cricket::STUN_BINDING_REQUEST), 1000, | 
| + fake_clock()); | 
| } |