Index: webrtc/p2p/base/p2ptransportchannel_unittest.cc |
diff --git a/webrtc/p2p/base/p2ptransportchannel_unittest.cc b/webrtc/p2p/base/p2ptransportchannel_unittest.cc |
index 9342a201a12904c168d51711976ba290efb51071..26db621a9dbfba3dcdedb02c4912d63012594b2b 100644 |
--- a/webrtc/p2p/base/p2ptransportchannel_unittest.cc |
+++ b/webrtc/p2p/base/p2ptransportchannel_unittest.cc |
@@ -305,7 +305,9 @@ class P2PTransportChannelTestBase : public testing::Test, |
return ep2_.GetChannelData(channel); |
} |
- void CreateChannels(int num) { |
+ void CreateChannels(int num, |
+ const IceConfig& ep1_config, |
+ const IceConfig& ep2_config) { |
std::string ice_ufrag_ep1_cd1_ch = kIceUfrag[0]; |
std::string ice_pwd_ep1_cd1_ch = kIcePwd[0]; |
std::string ice_ufrag_ep2_cd1_ch = kIceUfrag[1]; |
@@ -316,6 +318,8 @@ class P2PTransportChannelTestBase : public testing::Test, |
ep2_.cd1_.ch_.reset(CreateChannel( |
1, ICE_CANDIDATE_COMPONENT_DEFAULT, ice_ufrag_ep2_cd1_ch, |
ice_pwd_ep2_cd1_ch, ice_ufrag_ep1_cd1_ch, ice_pwd_ep1_cd1_ch)); |
+ ep1_.cd1_.ch_->SetIceConfig(ep1_config); |
+ ep2_.cd1_.ch_->SetIceConfig(ep2_config); |
ep1_.cd1_.ch_->MaybeStartGathering(); |
ep2_.cd1_.ch_->MaybeStartGathering(); |
if (num == 2) { |
@@ -329,10 +333,18 @@ class P2PTransportChannelTestBase : public testing::Test, |
ep2_.cd2_.ch_.reset(CreateChannel( |
1, ICE_CANDIDATE_COMPONENT_DEFAULT, ice_ufrag_ep2_cd2_ch, |
ice_pwd_ep2_cd2_ch, ice_ufrag_ep1_cd2_ch, ice_pwd_ep1_cd2_ch)); |
+ ep1_.cd2_.ch_->SetIceConfig(ep1_config); |
+ ep2_.cd2_.ch_->SetIceConfig(ep2_config); |
ep1_.cd2_.ch_->MaybeStartGathering(); |
ep2_.cd2_.ch_->MaybeStartGathering(); |
} |
} |
+ |
+ void CreateChannels(int num) { |
+ IceConfig default_config; |
+ CreateChannels(num, default_config, default_config); |
+ } |
+ |
P2PTransportChannel* CreateChannel(int endpoint, |
int component, |
const std::string& local_ice_ufrag, |
@@ -1573,10 +1585,11 @@ TEST_F(P2PTransportChannelTest, TestContinualGathering) { |
kDefaultPortAllocatorFlags); |
SetAllocationStepDelay(0, kDefaultStepDelay); |
SetAllocationStepDelay(1, kDefaultStepDelay); |
- CreateChannels(1); |
- IceConfig config = CreateIceConfig(1000, GATHER_CONTINUALLY); |
- ep1_ch1()->SetIceConfig(config); |
+ IceConfig continual_gathering_config = |
+ CreateIceConfig(1000, GATHER_CONTINUALLY); |
// By default, ep2 does not gather continually. |
+ IceConfig default_config; |
+ CreateChannels(1, continual_gathering_config, default_config); |
EXPECT_TRUE_WAIT_MARGIN(ep1_ch1() != NULL && ep2_ch1() != NULL && |
ep1_ch1()->receiving() && ep1_ch1()->writable() && |
@@ -1908,8 +1921,10 @@ TEST_F(P2PTransportChannelMultihomedTest, TestFailoverControlledSide) { |
SetAllocatorFlags(0, kOnlyLocalPorts); |
SetAllocatorFlags(1, kOnlyLocalPorts); |
+ // Make the receiving timeout shorter for testing. |
+ IceConfig config = CreateIceConfig(1000, GATHER_ONCE); |
// Create channels and let them go writable, as usual. |
- CreateChannels(1); |
+ CreateChannels(1, config, config); |
EXPECT_TRUE_SIMULATED_WAIT(ep1_ch1()->receiving() && ep1_ch1()->writable() && |
ep2_ch1()->receiving() && |
@@ -1920,11 +1935,6 @@ TEST_F(P2PTransportChannelMultihomedTest, TestFailoverControlledSide) { |
LocalCandidate(ep1_ch1())->address().EqualIPs(kPublicAddrs[0]) && |
RemoteCandidate(ep1_ch1())->address().EqualIPs(kPublicAddrs[1])); |
- // Make the receiving timeout shorter for testing. |
- IceConfig config = CreateIceConfig(1000, GATHER_ONCE); |
- ep1_ch1()->SetIceConfig(config); |
- ep2_ch1()->SetIceConfig(config); |
- |
// Blackhole any traffic to or from the public addrs. |
LOG(LS_INFO) << "Failing over..."; |
fw()->AddRule(false, rtc::FP_ANY, rtc::FD_ANY, kPublicAddrs[1]); |
@@ -1964,8 +1974,10 @@ TEST_F(P2PTransportChannelMultihomedTest, TestFailoverControllingSide) { |
SetAllocatorFlags(0, kOnlyLocalPorts); |
SetAllocatorFlags(1, kOnlyLocalPorts); |
+ // Make the receiving timeout shorter for testing. |
+ IceConfig config = CreateIceConfig(1000, GATHER_ONCE); |
// Create channels and let them go writable, as usual. |
- CreateChannels(1); |
+ CreateChannels(1, config, config); |
EXPECT_TRUE_SIMULATED_WAIT(ep1_ch1()->receiving() && ep1_ch1()->writable() && |
ep2_ch1()->receiving() && |
ep2_ch1()->writable(), |
@@ -1975,11 +1987,6 @@ TEST_F(P2PTransportChannelMultihomedTest, TestFailoverControllingSide) { |
LocalCandidate(ep1_ch1())->address().EqualIPs(kPublicAddrs[0]) && |
RemoteCandidate(ep1_ch1())->address().EqualIPs(kPublicAddrs[1])); |
- // Make the receiving timeout shorter for testing. |
- IceConfig config = CreateIceConfig(1000, GATHER_ONCE); |
- ep1_ch1()->SetIceConfig(config); |
- ep2_ch1()->SetIceConfig(config); |
- |
// Blackhole any traffic to or from the public addrs. |
LOG(LS_INFO) << "Failing over..."; |
fw()->AddRule(false, rtc::FP_ANY, rtc::FD_ANY, kPublicAddrs[0]); |
@@ -2020,8 +2027,10 @@ TEST_F(P2PTransportChannelMultihomedTest, TestIceRenomination) { |
SetAllocatorFlags(0, kOnlyLocalPorts); |
SetAllocatorFlags(1, kOnlyLocalPorts); |
+ // Make the receiving timeout shorter for testing. |
+ IceConfig config = CreateIceConfig(1000, GATHER_ONCE); |
// Create channels and let them go writable, as usual. |
- CreateChannels(1); |
+ CreateChannels(1, config, config); |
ep1_ch1()->set_remote_supports_renomination(true); |
EXPECT_TRUE_SIMULATED_WAIT(ep1_ch1()->receiving() && ep1_ch1()->writable() && |
ep2_ch1()->receiving() && |
@@ -2041,11 +2050,6 @@ TEST_F(P2PTransportChannelMultihomedTest, TestIceRenomination) { |
SIMULATED_WAIT(nominated(), 3000, clock); |
EXPECT_FALSE(nominated()); |
- // Make the receiving timeout shorter for testing. |
- IceConfig config = CreateIceConfig(1000, GATHER_ONCE); |
- ep1_ch1()->SetIceConfig(config); |
- ep2_ch1()->SetIceConfig(config); |
- |
// Blackhole any traffic to or from the public addrs. |
LOG(LS_INFO) << "Failing over..."; |
fw()->AddRule(false, rtc::FP_ANY, rtc::FD_ANY, kPublicAddrs[0]); |
@@ -2362,9 +2366,9 @@ TEST_F(P2PTransportChannelMultihomedTest, TestNetworkBecomesInactive) { |
AddAddress(0, kPublicAddrs[0]); |
AddAddress(1, kPublicAddrs[1]); |
// Create channels and let them go writable, as usual. |
- CreateChannels(1); |
- ep1_ch1()->SetIceConfig(CreateIceConfig(2000, GATHER_CONTINUALLY)); |
- ep2_ch1()->SetIceConfig(CreateIceConfig(2000, GATHER_ONCE)); |
+ IceConfig ep1_config = CreateIceConfig(2000, GATHER_CONTINUALLY); |
+ IceConfig ep2_config = CreateIceConfig(2000, GATHER_ONCE); |
+ CreateChannels(1, ep1_config, ep2_config); |
SetAllocatorFlags(0, kOnlyLocalPorts); |
SetAllocatorFlags(1, kOnlyLocalPorts); |
@@ -2406,10 +2410,10 @@ TEST_F(P2PTransportChannelMultihomedTest, |
auto& cellular = kPublicAddrs; |
AddAddress(0, wifi[0], "test_wifi0", rtc::ADAPTER_TYPE_WIFI); |
AddAddress(1, cellular[1], "test_cell1", rtc::ADAPTER_TYPE_CELLULAR); |
- CreateChannels(1); |
// Set continual gathering policy. |
- ep1_ch1()->SetIceConfig(CreateIceConfig(1000, GATHER_CONTINUALLY)); |
- ep2_ch1()->SetIceConfig(CreateIceConfig(1000, GATHER_CONTINUALLY)); |
+ IceConfig continual_gathering_config = |
+ CreateIceConfig(1000, GATHER_CONTINUALLY); |
+ CreateChannels(1, continual_gathering_config, continual_gathering_config); |
SetAllocatorFlags(0, kOnlyLocalPorts); |
SetAllocatorFlags(1, kOnlyLocalPorts); |
EXPECT_TRUE_WAIT_MARGIN(ep1_ch1()->receiving() && ep1_ch1()->writable() && |
@@ -2456,11 +2460,11 @@ TEST_F(P2PTransportChannelMultihomedTest, |
SetAllocatorFlags(0, kOnlyLocalPorts); |
SetAllocatorFlags(1, kOnlyLocalPorts); |
- // Create channels and let them go writable, as usual. |
- CreateChannels(1); |
// Set continual gathering policy. |
- ep1_ch1()->SetIceConfig(CreateIceConfig(1000, GATHER_CONTINUALLY)); |
- ep2_ch1()->SetIceConfig(CreateIceConfig(1000, GATHER_CONTINUALLY)); |
+ IceConfig continual_gathering_config = |
+ CreateIceConfig(1000, GATHER_CONTINUALLY); |
+ // Create channels and let them go writable, as usual. |
+ CreateChannels(1, continual_gathering_config, continual_gathering_config); |
EXPECT_TRUE_SIMULATED_WAIT(ep1_ch1()->receiving() && ep1_ch1()->writable() && |
ep2_ch1()->receiving() && |
ep2_ch1()->writable(), |
@@ -2514,12 +2518,10 @@ TEST_F(P2PTransportChannelMultihomedTest, |
SetAllocatorFlags(0, kOnlyLocalPorts); |
SetAllocatorFlags(1, kOnlyLocalPorts); |
- // Create channels and let them go writable, as usual. |
- CreateChannels(1); |
// Set continual gathering policy. |
IceConfig config = CreateIceConfig(1000, GATHER_CONTINUALLY_AND_RECOVER); |
- ep1_ch1()->SetIceConfig(config); |
- ep2_ch1()->SetIceConfig(config); |
+ // Create channels and let them go writable, as usual. |
+ CreateChannels(1, config, config); |
EXPECT_TRUE_SIMULATED_WAIT(ep1_ch1()->receiving() && ep1_ch1()->writable() && |
ep2_ch1()->receiving() && ep2_ch1()->writable(), |
3000, clock); |
@@ -2558,11 +2560,9 @@ TEST_F(P2PTransportChannelMultihomedTest, TestRestoreBackupConnection) { |
SetAllocatorFlags(1, kOnlyLocalPorts); |
// Create channels and let them go writable, as usual. |
- CreateChannels(1); |
IceConfig config = CreateIceConfig(1000, GATHER_CONTINUALLY); |
config.regather_on_failed_networks_interval = rtc::Optional<int>(2000); |
- ep1_ch1()->SetIceConfig(config); |
- ep2_ch1()->SetIceConfig(config); |
+ CreateChannels(1, config, config); |
EXPECT_TRUE_SIMULATED_WAIT(ep1_ch1()->receiving() && ep1_ch1()->writable() && |
ep2_ch1()->receiving() && |
ep2_ch1()->writable(), |