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

Side by Side Diff: webrtc/p2p/client/portallocator_unittest.cc

Issue 1353713002: Remove GICE (again). (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Undo .gclient Created 5 years, 3 months 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 | « webrtc/p2p/client/fakeportallocator.h ('k') | webrtc/p2p/p2p.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2009 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2009 The WebRTC Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 uint32 total_ports, 246 uint32 total_ports,
247 const rtc::IPAddress& host_candidate_addr, 247 const rtc::IPAddress& host_candidate_addr,
248 const rtc::IPAddress& stun_candidate_addr, 248 const rtc::IPAddress& stun_candidate_addr,
249 const rtc::IPAddress& relay_candidate_udp_transport_addr, 249 const rtc::IPAddress& relay_candidate_udp_transport_addr,
250 const rtc::IPAddress& relay_candidate_tcp_transport_addr) { 250 const rtc::IPAddress& relay_candidate_tcp_transport_addr) {
251 if (!session_) { 251 if (!session_) {
252 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); 252 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP));
253 } 253 }
254 session_->set_flags(session_->flags() | 254 session_->set_flags(session_->flags() |
255 cricket::PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION | 255 cricket::PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION |
256 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG |
257 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); 256 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET);
258 allocator().set_allow_tcp_listen(false); 257 allocator().set_allow_tcp_listen(false);
259 session_->StartGettingPorts(); 258 session_->StartGettingPorts();
260 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); 259 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout);
261 260
262 uint32 total_candidates = 0; 261 uint32 total_candidates = 0;
263 if (!host_candidate_addr.IsNil()) { 262 if (!host_candidate_addr.IsNil()) {
264 EXPECT_PRED5(CheckCandidate, candidates_[total_candidates], 263 EXPECT_PRED5(CheckCandidate, candidates_[total_candidates],
265 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", 264 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp",
266 rtc::SocketAddress(host_candidate_addr, 0)); 265 rtc::SocketAddress(host_candidate_addr, 0));
(...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after
611 // the relay server. 610 // the relay server.
612 TEST_F(PortAllocatorTest, TestDisableUdpTurn) { 611 TEST_F(PortAllocatorTest, TestDisableUdpTurn) {
613 turn_server_.AddInternalSocket(kTurnTcpIntAddr, cricket::PROTO_TCP); 612 turn_server_.AddInternalSocket(kTurnTcpIntAddr, cricket::PROTO_TCP);
614 AddInterface(kClientAddr); 613 AddInterface(kClientAddr);
615 ResetWithStunServerAndNat(kStunAddr); 614 ResetWithStunServerAndNat(kStunAddr);
616 AddTurnServers(kTurnUdpIntAddr, kTurnTcpIntAddr); 615 AddTurnServers(kTurnUdpIntAddr, kTurnTcpIntAddr);
617 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); 616 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP));
618 session_->set_flags(cricket::PORTALLOCATOR_DISABLE_UDP_RELAY | 617 session_->set_flags(cricket::PORTALLOCATOR_DISABLE_UDP_RELAY |
619 cricket::PORTALLOCATOR_DISABLE_UDP | 618 cricket::PORTALLOCATOR_DISABLE_UDP |
620 cricket::PORTALLOCATOR_DISABLE_STUN | 619 cricket::PORTALLOCATOR_DISABLE_STUN |
621 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG |
622 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); 620 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET);
623 621
624 session_->StartGettingPorts(); 622 session_->StartGettingPorts();
625 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); 623 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout);
626 624
627 // Expect to see 2 ports and 2 candidates - TURN/TCP and TCP ports, TCP and 625 // Expect to see 2 ports and 2 candidates - TURN/TCP and TCP ports, TCP and
628 // TURN/TCP candidates. 626 // TURN/TCP candidates.
629 EXPECT_EQ(2U, ports_.size()); 627 EXPECT_EQ(2U, ports_.size());
630 EXPECT_EQ(2U, candidates_.size()); 628 EXPECT_EQ(2U, candidates_.size());
631 EXPECT_PRED5(CheckCandidate, candidates_[0], 629 EXPECT_PRED5(CheckCandidate, candidates_[0],
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
801 for (size_t i = 0; i < candidates_.size(); ++i) { 799 for (size_t i = 0; i < candidates_.size(); ++i) {
802 EXPECT_EQ(std::string(cricket::RELAY_PORT_TYPE), candidates_[i].type()); 800 EXPECT_EQ(std::string(cricket::RELAY_PORT_TYPE), candidates_[i].type());
803 EXPECT_EQ( 801 EXPECT_EQ(
804 candidates_[0].related_address(), 802 candidates_[0].related_address(),
805 rtc::EmptySocketAddressWithFamily(candidates_[0].address().family())); 803 rtc::EmptySocketAddressWithFamily(candidates_[0].address().family()));
806 } 804 }
807 } 805 }
808 806
809 TEST_F(PortAllocatorTest, TestCandidateFilterWithHostOnly) { 807 TEST_F(PortAllocatorTest, TestCandidateFilterWithHostOnly) {
810 AddInterface(kClientAddr); 808 AddInterface(kClientAddr);
811 allocator().set_flags(cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG | 809 allocator().set_flags(cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET);
812 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET);
813 allocator().set_candidate_filter(cricket::CF_HOST); 810 allocator().set_candidate_filter(cricket::CF_HOST);
814 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); 811 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP));
815 session_->StartGettingPorts(); 812 session_->StartGettingPorts();
816 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); 813 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout);
817 EXPECT_EQ(2U, candidates_.size()); // Host UDP/TCP candidates only. 814 EXPECT_EQ(2U, candidates_.size()); // Host UDP/TCP candidates only.
818 EXPECT_EQ(2U, ports_.size()); // UDP/TCP ports only. 815 EXPECT_EQ(2U, ports_.size()); // UDP/TCP ports only.
819 for (size_t i = 0; i < candidates_.size(); ++i) { 816 for (size_t i = 0; i < candidates_.size(); ++i) {
820 EXPECT_EQ(std::string(cricket::LOCAL_PORT_TYPE), candidates_[i].type()); 817 EXPECT_EQ(std::string(cricket::LOCAL_PORT_TYPE), candidates_[i].type());
821 } 818 }
822 } 819 }
823 820
824 // Host is behind the NAT. 821 // Host is behind the NAT.
825 TEST_F(PortAllocatorTest, TestCandidateFilterWithReflexiveOnly) { 822 TEST_F(PortAllocatorTest, TestCandidateFilterWithReflexiveOnly) {
826 AddInterface(kPrivateAddr); 823 AddInterface(kPrivateAddr);
827 ResetWithStunServerAndNat(kStunAddr); 824 ResetWithStunServerAndNat(kStunAddr);
828 825
829 allocator().set_flags(cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG | 826 allocator().set_flags(cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET);
830 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET);
831 allocator().set_candidate_filter(cricket::CF_REFLEXIVE); 827 allocator().set_candidate_filter(cricket::CF_REFLEXIVE);
832 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); 828 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP));
833 session_->StartGettingPorts(); 829 session_->StartGettingPorts();
834 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); 830 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout);
835 // Host is behind NAT, no private address will be exposed. Hence only UDP 831 // Host is behind NAT, no private address will be exposed. Hence only UDP
836 // port with STUN candidate will be sent outside. 832 // port with STUN candidate will be sent outside.
837 EXPECT_EQ(1U, candidates_.size()); // Only STUN candidate. 833 EXPECT_EQ(1U, candidates_.size()); // Only STUN candidate.
838 EXPECT_EQ(1U, ports_.size()); // Only UDP port will be in ready state. 834 EXPECT_EQ(1U, ports_.size()); // Only UDP port will be in ready state.
839 for (size_t i = 0; i < candidates_.size(); ++i) { 835 for (size_t i = 0; i < candidates_.size(); ++i) {
840 EXPECT_EQ(std::string(cricket::STUN_PORT_TYPE), candidates_[i].type()); 836 EXPECT_EQ(std::string(cricket::STUN_PORT_TYPE), candidates_[i].type());
841 EXPECT_EQ( 837 EXPECT_EQ(
842 candidates_[0].related_address(), 838 candidates_[0].related_address(),
843 rtc::EmptySocketAddressWithFamily(candidates_[0].address().family())); 839 rtc::EmptySocketAddressWithFamily(candidates_[0].address().family()));
844 } 840 }
845 } 841 }
846 842
847 // Host is not behind the NAT. 843 // Host is not behind the NAT.
848 TEST_F(PortAllocatorTest, TestCandidateFilterWithReflexiveOnlyAndNoNAT) { 844 TEST_F(PortAllocatorTest, TestCandidateFilterWithReflexiveOnlyAndNoNAT) {
849 AddInterface(kClientAddr); 845 AddInterface(kClientAddr);
850 allocator().set_flags(cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG | 846 allocator().set_flags(cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET);
851 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET);
852 allocator().set_candidate_filter(cricket::CF_REFLEXIVE); 847 allocator().set_candidate_filter(cricket::CF_REFLEXIVE);
853 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); 848 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP));
854 session_->StartGettingPorts(); 849 session_->StartGettingPorts();
855 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); 850 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout);
856 // Host has a public address, both UDP and TCP candidates will be exposed. 851 // Host has a public address, both UDP and TCP candidates will be exposed.
857 EXPECT_EQ(2U, candidates_.size()); // Local UDP + TCP candidate. 852 EXPECT_EQ(2U, candidates_.size()); // Local UDP + TCP candidate.
858 EXPECT_EQ(2U, ports_.size()); // UDP and TCP ports will be in ready state. 853 EXPECT_EQ(2U, ports_.size()); // UDP and TCP ports will be in ready state.
859 for (size_t i = 0; i < candidates_.size(); ++i) { 854 for (size_t i = 0; i < candidates_.size(); ++i) {
860 EXPECT_EQ(std::string(cricket::LOCAL_PORT_TYPE), candidates_[i].type()); 855 EXPECT_EQ(std::string(cricket::LOCAL_PORT_TYPE), candidates_[i].type());
861 } 856 }
862 } 857 }
863 858
864 // Test that when the PORTALLOCATOR_ENABLE_SHARED_UFRAG is enabled we got same 859 // Test that we get the same ufrag and pwd for all candidates.
865 // ufrag and pwd for the collected candidates.
866 TEST_F(PortAllocatorTest, TestEnableSharedUfrag) { 860 TEST_F(PortAllocatorTest, TestEnableSharedUfrag) {
867 allocator().set_flags(allocator().flags() |
868 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG);
869 AddInterface(kClientAddr); 861 AddInterface(kClientAddr);
870 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); 862 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP));
871 session_->StartGettingPorts(); 863 session_->StartGettingPorts();
872 ASSERT_EQ_WAIT(7U, candidates_.size(), kDefaultAllocationTimeout); 864 ASSERT_EQ_WAIT(7U, candidates_.size(), kDefaultAllocationTimeout);
873 EXPECT_PRED5(CheckCandidate, candidates_[0], 865 EXPECT_PRED5(CheckCandidate, candidates_[0],
874 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); 866 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr);
875 EXPECT_PRED5(CheckCandidate, candidates_[1], 867 EXPECT_PRED5(CheckCandidate, candidates_[1],
876 cricket::ICE_CANDIDATE_COMPONENT_RTP, "stun", "udp", kClientAddr); 868 cricket::ICE_CANDIDATE_COMPONENT_RTP, "stun", "udp", kClientAddr);
877 EXPECT_PRED5(CheckCandidate, candidates_[5], 869 EXPECT_PRED5(CheckCandidate, candidates_[5],
878 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "tcp", kClientAddr); 870 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "tcp", kClientAddr);
879 EXPECT_EQ(4U, ports_.size()); 871 EXPECT_EQ(4U, ports_.size());
880 EXPECT_EQ(kIceUfrag0, candidates_[0].username()); 872 EXPECT_EQ(kIceUfrag0, candidates_[0].username());
881 EXPECT_EQ(kIceUfrag0, candidates_[1].username()); 873 EXPECT_EQ(kIceUfrag0, candidates_[1].username());
882 EXPECT_EQ(kIceUfrag0, candidates_[2].username()); 874 EXPECT_EQ(kIceUfrag0, candidates_[2].username());
883 EXPECT_EQ(kIcePwd0, candidates_[0].password()); 875 EXPECT_EQ(kIcePwd0, candidates_[0].password());
884 EXPECT_EQ(kIcePwd0, candidates_[1].password()); 876 EXPECT_EQ(kIcePwd0, candidates_[1].password());
885 EXPECT_TRUE(candidate_allocation_done_); 877 EXPECT_TRUE(candidate_allocation_done_);
886 } 878 }
887 879
888 // Test that when the PORTALLOCATOR_ENABLE_SHARED_UFRAG isn't enabled we got
889 // different ufrag and pwd for the collected candidates.
890 TEST_F(PortAllocatorTest, TestDisableSharedUfrag) {
891 allocator().set_flags(allocator().flags() &
892 ~cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG);
893 AddInterface(kClientAddr);
894 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP));
895 session_->StartGettingPorts();
896 ASSERT_EQ_WAIT(7U, candidates_.size(), kDefaultAllocationTimeout);
897 EXPECT_PRED5(CheckCandidate, candidates_[0],
898 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr);
899 EXPECT_PRED5(CheckCandidate, candidates_[1],
900 cricket::ICE_CANDIDATE_COMPONENT_RTP, "stun", "udp", kClientAddr);
901 EXPECT_EQ(4U, ports_.size());
902 // Port should generate random ufrag and pwd.
903 EXPECT_NE(kIceUfrag0, candidates_[0].username());
904 EXPECT_NE(kIceUfrag0, candidates_[1].username());
905 EXPECT_NE(candidates_[0].username(), candidates_[1].username());
906 EXPECT_NE(kIcePwd0, candidates_[0].password());
907 EXPECT_NE(kIcePwd0, candidates_[1].password());
908 EXPECT_NE(candidates_[0].password(), candidates_[1].password());
909 EXPECT_TRUE(candidate_allocation_done_);
910 }
911
912 // Test that when PORTALLOCATOR_ENABLE_SHARED_SOCKET is enabled only one port 880 // Test that when PORTALLOCATOR_ENABLE_SHARED_SOCKET is enabled only one port
913 // is allocated for udp and stun. Also verify there is only one candidate 881 // is allocated for udp and stun. Also verify there is only one candidate
914 // (local) if stun candidate is same as local candidate, which will be the case 882 // (local) if stun candidate is same as local candidate, which will be the case
915 // in a public network like the below test. 883 // in a public network like the below test.
916 TEST_F(PortAllocatorTest, TestSharedSocketWithoutNat) { 884 TEST_F(PortAllocatorTest, TestSharedSocketWithoutNat) {
917 AddInterface(kClientAddr); 885 AddInterface(kClientAddr);
918 allocator_->set_flags(allocator().flags() | 886 allocator_->set_flags(allocator().flags() |
919 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG |
920 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); 887 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET);
921 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); 888 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP));
922 session_->StartGettingPorts(); 889 session_->StartGettingPorts();
923 ASSERT_EQ_WAIT(6U, candidates_.size(), kDefaultAllocationTimeout); 890 ASSERT_EQ_WAIT(6U, candidates_.size(), kDefaultAllocationTimeout);
924 EXPECT_EQ(3U, ports_.size()); 891 EXPECT_EQ(3U, ports_.size());
925 EXPECT_PRED5(CheckCandidate, candidates_[0], 892 EXPECT_PRED5(CheckCandidate, candidates_[0],
926 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); 893 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr);
927 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); 894 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout);
928 } 895 }
929 896
930 // Test that when PORTALLOCATOR_ENABLE_SHARED_SOCKET is enabled only one port 897 // Test that when PORTALLOCATOR_ENABLE_SHARED_SOCKET is enabled only one port
931 // is allocated for udp and stun. In this test we should expect both stun and 898 // is allocated for udp and stun. In this test we should expect both stun and
932 // local candidates as client behind a nat. 899 // local candidates as client behind a nat.
933 TEST_F(PortAllocatorTest, TestSharedSocketWithNat) { 900 TEST_F(PortAllocatorTest, TestSharedSocketWithNat) {
934 AddInterface(kClientAddr); 901 AddInterface(kClientAddr);
935 ResetWithStunServerAndNat(kStunAddr); 902 ResetWithStunServerAndNat(kStunAddr);
936 903
937 allocator_->set_flags(allocator().flags() | 904 allocator_->set_flags(allocator().flags() |
938 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG |
939 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); 905 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET);
940 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); 906 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP));
941 session_->StartGettingPorts(); 907 session_->StartGettingPorts();
942 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout); 908 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout);
943 ASSERT_EQ(2U, ports_.size()); 909 ASSERT_EQ(2U, ports_.size());
944 EXPECT_PRED5(CheckCandidate, candidates_[0], 910 EXPECT_PRED5(CheckCandidate, candidates_[0],
945 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); 911 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr);
946 EXPECT_PRED5(CheckCandidate, candidates_[1], 912 EXPECT_PRED5(CheckCandidate, candidates_[1],
947 cricket::ICE_CANDIDATE_COMPONENT_RTP, "stun", "udp", 913 cricket::ICE_CANDIDATE_COMPONENT_RTP, "stun", "udp",
948 rtc::SocketAddress(kNatUdpAddr.ipaddr(), 0)); 914 rtc::SocketAddress(kNatUdpAddr.ipaddr(), 0));
949 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); 915 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout);
950 EXPECT_EQ(3U, candidates_.size()); 916 EXPECT_EQ(3U, candidates_.size());
951 } 917 }
952 918
953 // Test TURN port in shared socket mode with UDP and TCP TURN server addresses. 919 // Test TURN port in shared socket mode with UDP and TCP TURN server addresses.
954 TEST_F(PortAllocatorTest, TestSharedSocketWithoutNatUsingTurn) { 920 TEST_F(PortAllocatorTest, TestSharedSocketWithoutNatUsingTurn) {
955 turn_server_.AddInternalSocket(kTurnTcpIntAddr, cricket::PROTO_TCP); 921 turn_server_.AddInternalSocket(kTurnTcpIntAddr, cricket::PROTO_TCP);
956 AddInterface(kClientAddr); 922 AddInterface(kClientAddr);
957 allocator_.reset(new cricket::BasicPortAllocator(&network_manager_)); 923 allocator_.reset(new cricket::BasicPortAllocator(&network_manager_));
958 924
959 AddTurnServers(kTurnUdpIntAddr, kTurnTcpIntAddr); 925 AddTurnServers(kTurnUdpIntAddr, kTurnTcpIntAddr);
960 926
961 allocator_->set_step_delay(cricket::kMinimumStepDelay); 927 allocator_->set_step_delay(cricket::kMinimumStepDelay);
962 allocator_->set_flags(allocator().flags() | 928 allocator_->set_flags(allocator().flags() |
963 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG |
964 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET | 929 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET |
965 cricket::PORTALLOCATOR_DISABLE_TCP); 930 cricket::PORTALLOCATOR_DISABLE_TCP);
966 931
967 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); 932 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP));
968 session_->StartGettingPorts(); 933 session_->StartGettingPorts();
969 934
970 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout); 935 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout);
971 ASSERT_EQ(3U, ports_.size()); 936 ASSERT_EQ(3U, ports_.size());
972 EXPECT_PRED5(CheckCandidate, candidates_[0], 937 EXPECT_PRED5(CheckCandidate, candidates_[0],
973 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); 938 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr);
(...skipping 17 matching lines...) Expand all
991 cricket::RelayServerConfig relay_server(cricket::RELAY_TURN); 956 cricket::RelayServerConfig relay_server(cricket::RELAY_TURN);
992 cricket::RelayCredentials credentials(kTurnUsername, kTurnPassword); 957 cricket::RelayCredentials credentials(kTurnUsername, kTurnPassword);
993 relay_server.credentials = credentials; 958 relay_server.credentials = credentials;
994 relay_server.ports.push_back(cricket::ProtocolAddress( 959 relay_server.ports.push_back(cricket::ProtocolAddress(
995 rtc::SocketAddress("localhost", 3478), 960 rtc::SocketAddress("localhost", 3478),
996 cricket::PROTO_UDP, false)); 961 cricket::PROTO_UDP, false));
997 allocator_->AddRelay(relay_server); 962 allocator_->AddRelay(relay_server);
998 963
999 allocator_->set_step_delay(cricket::kMinimumStepDelay); 964 allocator_->set_step_delay(cricket::kMinimumStepDelay);
1000 allocator_->set_flags(allocator().flags() | 965 allocator_->set_flags(allocator().flags() |
1001 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG |
1002 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET | 966 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET |
1003 cricket::PORTALLOCATOR_DISABLE_TCP); 967 cricket::PORTALLOCATOR_DISABLE_TCP);
1004 968
1005 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); 969 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP));
1006 session_->StartGettingPorts(); 970 session_->StartGettingPorts();
1007 971
1008 EXPECT_EQ_WAIT(2U, ports_.size(), kDefaultAllocationTimeout); 972 EXPECT_EQ_WAIT(2U, ports_.size(), kDefaultAllocationTimeout);
1009 } 973 }
1010 974
1011 // Test that when PORTALLOCATOR_ENABLE_SHARED_SOCKET is enabled only one port 975 // Test that when PORTALLOCATOR_ENABLE_SHARED_SOCKET is enabled only one port
1012 // is allocated for udp/stun/turn. In this test we should expect all local, 976 // is allocated for udp/stun/turn. In this test we should expect all local,
1013 // stun and turn candidates. 977 // stun and turn candidates.
1014 TEST_F(PortAllocatorTest, TestSharedSocketWithNatUsingTurn) { 978 TEST_F(PortAllocatorTest, TestSharedSocketWithNatUsingTurn) {
1015 AddInterface(kClientAddr); 979 AddInterface(kClientAddr);
1016 ResetWithStunServerAndNat(kStunAddr); 980 ResetWithStunServerAndNat(kStunAddr);
1017 981
1018 AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress()); 982 AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress());
1019 983
1020 allocator_->set_flags(allocator().flags() | 984 allocator_->set_flags(allocator().flags() |
1021 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG |
1022 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET | 985 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET |
1023 cricket::PORTALLOCATOR_DISABLE_TCP); 986 cricket::PORTALLOCATOR_DISABLE_TCP);
1024 987
1025 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); 988 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP));
1026 session_->StartGettingPorts(); 989 session_->StartGettingPorts();
1027 990
1028 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout); 991 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout);
1029 ASSERT_EQ(2U, ports_.size()); 992 ASSERT_EQ(2U, ports_.size());
1030 EXPECT_PRED5(CheckCandidate, candidates_[0], 993 EXPECT_PRED5(CheckCandidate, candidates_[0],
1031 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); 994 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr);
(...skipping 18 matching lines...) Expand all
1050 // Use an empty SocketAddress to add a NAT without STUN server. 1013 // Use an empty SocketAddress to add a NAT without STUN server.
1051 ResetWithStunServerAndNat(SocketAddress()); 1014 ResetWithStunServerAndNat(SocketAddress());
1052 AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress()); 1015 AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress());
1053 1016
1054 // Must set the step delay to 0 to make sure the relay allocation phase is 1017 // Must set the step delay to 0 to make sure the relay allocation phase is
1055 // started before the STUN candidates are obtained, so that the STUN binding 1018 // started before the STUN candidates are obtained, so that the STUN binding
1056 // response is processed when both StunPort and TurnPort exist to reproduce 1019 // response is processed when both StunPort and TurnPort exist to reproduce
1057 // webrtc issue 3537. 1020 // webrtc issue 3537.
1058 allocator_->set_step_delay(0); 1021 allocator_->set_step_delay(0);
1059 allocator_->set_flags(allocator().flags() | 1022 allocator_->set_flags(allocator().flags() |
1060 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG |
1061 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET | 1023 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET |
1062 cricket::PORTALLOCATOR_DISABLE_TCP); 1024 cricket::PORTALLOCATOR_DISABLE_TCP);
1063 1025
1064 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); 1026 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP));
1065 session_->StartGettingPorts(); 1027 session_->StartGettingPorts();
1066 1028
1067 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout); 1029 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout);
1068 EXPECT_PRED5(CheckCandidate, candidates_[0], 1030 EXPECT_PRED5(CheckCandidate, candidates_[0],
1069 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); 1031 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr);
1070 EXPECT_PRED5(CheckCandidate, candidates_[1], 1032 EXPECT_PRED5(CheckCandidate, candidates_[1],
(...skipping 14 matching lines...) Expand all
1085 // Test that when only a TCP TURN server is available, we do NOT use it as 1047 // Test that when only a TCP TURN server is available, we do NOT use it as
1086 // a UDP STUN server, as this could leak our IP address. Thus we should only 1048 // a UDP STUN server, as this could leak our IP address. Thus we should only
1087 // expect two ports, a UDPPort and TurnPort. 1049 // expect two ports, a UDPPort and TurnPort.
1088 TEST_F(PortAllocatorTest, TestSharedSocketWithNatUsingTurnTcpOnly) { 1050 TEST_F(PortAllocatorTest, TestSharedSocketWithNatUsingTurnTcpOnly) {
1089 turn_server_.AddInternalSocket(kTurnTcpIntAddr, cricket::PROTO_TCP); 1051 turn_server_.AddInternalSocket(kTurnTcpIntAddr, cricket::PROTO_TCP);
1090 AddInterface(kClientAddr); 1052 AddInterface(kClientAddr);
1091 ResetWithStunServerAndNat(rtc::SocketAddress()); 1053 ResetWithStunServerAndNat(rtc::SocketAddress());
1092 AddTurnServers(rtc::SocketAddress(), kTurnTcpIntAddr); 1054 AddTurnServers(rtc::SocketAddress(), kTurnTcpIntAddr);
1093 1055
1094 allocator_->set_flags(allocator().flags() | 1056 allocator_->set_flags(allocator().flags() |
1095 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG |
1096 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET | 1057 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET |
1097 cricket::PORTALLOCATOR_DISABLE_TCP); 1058 cricket::PORTALLOCATOR_DISABLE_TCP);
1098 1059
1099 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); 1060 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP));
1100 session_->StartGettingPorts(); 1061 session_->StartGettingPorts();
1101 1062
1102 ASSERT_EQ_WAIT(2U, candidates_.size(), kDefaultAllocationTimeout); 1063 ASSERT_EQ_WAIT(2U, candidates_.size(), kDefaultAllocationTimeout);
1103 ASSERT_EQ(2U, ports_.size()); 1064 ASSERT_EQ(2U, ports_.size());
1104 EXPECT_PRED5(CheckCandidate, candidates_[0], 1065 EXPECT_PRED5(CheckCandidate, candidates_[0],
1105 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", 1066 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp",
(...skipping 12 matching lines...) Expand all
1118 // 'relay' candidates. 1079 // 'relay' candidates.
1119 // TODO(deadbeef): Remove this test when support for non-shared socket mode 1080 // TODO(deadbeef): Remove this test when support for non-shared socket mode
1120 // is removed. 1081 // is removed.
1121 TEST_F(PortAllocatorTest, TestNonSharedSocketWithNatUsingTurnAsStun) { 1082 TEST_F(PortAllocatorTest, TestNonSharedSocketWithNatUsingTurnAsStun) {
1122 AddInterface(kClientAddr); 1083 AddInterface(kClientAddr);
1123 // Use an empty SocketAddress to add a NAT without STUN server. 1084 // Use an empty SocketAddress to add a NAT without STUN server.
1124 ResetWithStunServerAndNat(SocketAddress()); 1085 ResetWithStunServerAndNat(SocketAddress());
1125 AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress()); 1086 AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress());
1126 1087
1127 allocator_->set_flags(allocator().flags() | 1088 allocator_->set_flags(allocator().flags() |
1128 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG |
1129 cricket::PORTALLOCATOR_DISABLE_TCP); 1089 cricket::PORTALLOCATOR_DISABLE_TCP);
1130 1090
1131 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); 1091 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP));
1132 session_->StartGettingPorts(); 1092 session_->StartGettingPorts();
1133 1093
1134 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout); 1094 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout);
1135 ASSERT_EQ(3U, ports_.size()); 1095 ASSERT_EQ(3U, ports_.size());
1136 EXPECT_PRED5(CheckCandidate, candidates_[0], 1096 EXPECT_PRED5(CheckCandidate, candidates_[0],
1137 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", 1097 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp",
1138 kClientAddr); 1098 kClientAddr);
(...skipping 18 matching lines...) Expand all
1157 // server is used as a STUN server and we get a 'stun' candidate. 1117 // server is used as a STUN server and we get a 'stun' candidate.
1158 TEST_F(PortAllocatorTest, TestSharedSocketWithNatUsingTurnAndStun) { 1118 TEST_F(PortAllocatorTest, TestSharedSocketWithNatUsingTurnAndStun) {
1159 AddInterface(kClientAddr); 1119 AddInterface(kClientAddr);
1160 // Configure with STUN server but destroy it, so we can ensure that it's 1120 // Configure with STUN server but destroy it, so we can ensure that it's
1161 // the TURN server actually being used as a STUN server. 1121 // the TURN server actually being used as a STUN server.
1162 ResetWithStunServerAndNat(kStunAddr); 1122 ResetWithStunServerAndNat(kStunAddr);
1163 stun_server_.reset(); 1123 stun_server_.reset();
1164 AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress()); 1124 AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress());
1165 1125
1166 allocator_->set_flags(allocator().flags() | 1126 allocator_->set_flags(allocator().flags() |
1167 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG |
1168 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET | 1127 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET |
1169 cricket::PORTALLOCATOR_DISABLE_TCP); 1128 cricket::PORTALLOCATOR_DISABLE_TCP);
1170 1129
1171 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); 1130 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP));
1172 session_->StartGettingPorts(); 1131 session_->StartGettingPorts();
1173 1132
1174 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout); 1133 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout);
1175 EXPECT_PRED5(CheckCandidate, candidates_[0], 1134 EXPECT_PRED5(CheckCandidate, candidates_[0],
1176 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", 1135 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp",
1177 kClientAddr); 1136 kClientAddr);
1178 EXPECT_PRED5(CheckCandidate, candidates_[1], 1137 EXPECT_PRED5(CheckCandidate, candidates_[1],
1179 cricket::ICE_CANDIDATE_COMPONENT_RTP, "stun", "udp", 1138 cricket::ICE_CANDIDATE_COMPONENT_RTP, "stun", "udp",
1180 rtc::SocketAddress(kNatUdpAddr.ipaddr(), 0)); 1139 rtc::SocketAddress(kNatUdpAddr.ipaddr(), 0));
1181 EXPECT_PRED5(CheckCandidate, candidates_[2], 1140 EXPECT_PRED5(CheckCandidate, candidates_[2],
1182 cricket::ICE_CANDIDATE_COMPONENT_RTP, "relay", "udp", 1141 cricket::ICE_CANDIDATE_COMPONENT_RTP, "relay", "udp",
1183 rtc::SocketAddress(kTurnUdpExtAddr.ipaddr(), 0)); 1142 rtc::SocketAddress(kTurnUdpExtAddr.ipaddr(), 0));
1184 EXPECT_EQ(candidates_[2].related_address(), candidates_[1].address()); 1143 EXPECT_EQ(candidates_[2].related_address(), candidates_[1].address());
1185 1144
1186 // Don't bother waiting for STUN timeout, since we already verified 1145 // Don't bother waiting for STUN timeout, since we already verified
1187 // that we got a STUN candidate from the TURN server. 1146 // that we got a STUN candidate from the TURN server.
1188 } 1147 }
1189 1148
1190 // This test verifies when PORTALLOCATOR_ENABLE_SHARED_SOCKET flag is enabled 1149 // This test verifies when PORTALLOCATOR_ENABLE_SHARED_SOCKET flag is enabled
1191 // and fail to generate STUN candidate, local UDP candidate is generated 1150 // and fail to generate STUN candidate, local UDP candidate is generated
1192 // properly. 1151 // properly.
1193 TEST_F(PortAllocatorTest, TestSharedSocketNoUdpAllowed) { 1152 TEST_F(PortAllocatorTest, TestSharedSocketNoUdpAllowed) {
1194 allocator().set_flags(allocator().flags() | 1153 allocator().set_flags(allocator().flags() |
1195 cricket::PORTALLOCATOR_DISABLE_RELAY | 1154 cricket::PORTALLOCATOR_DISABLE_RELAY |
1196 cricket::PORTALLOCATOR_DISABLE_TCP | 1155 cricket::PORTALLOCATOR_DISABLE_TCP |
1197 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG |
1198 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); 1156 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET);
1199 fss_->AddRule(false, rtc::FP_UDP, rtc::FD_ANY, kClientAddr); 1157 fss_->AddRule(false, rtc::FP_UDP, rtc::FD_ANY, kClientAddr);
1200 AddInterface(kClientAddr); 1158 AddInterface(kClientAddr);
1201 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); 1159 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP));
1202 session_->StartGettingPorts(); 1160 session_->StartGettingPorts();
1203 ASSERT_EQ_WAIT(1U, ports_.size(), kDefaultAllocationTimeout); 1161 ASSERT_EQ_WAIT(1U, ports_.size(), kDefaultAllocationTimeout);
1204 EXPECT_EQ(1U, candidates_.size()); 1162 EXPECT_EQ(1U, candidates_.size());
1205 EXPECT_PRED5(CheckCandidate, candidates_[0], 1163 EXPECT_PRED5(CheckCandidate, candidates_[0],
1206 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); 1164 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr);
1207 // STUN timeout is 9sec. We need to wait to get candidate done signal. 1165 // STUN timeout is 9sec. We need to wait to get candidate done signal.
1208 EXPECT_TRUE_WAIT(candidate_allocation_done_, 10000); 1166 EXPECT_TRUE_WAIT(candidate_allocation_done_, 10000);
1209 EXPECT_EQ(1U, candidates_.size()); 1167 EXPECT_EQ(1U, candidates_.size());
1210 } 1168 }
1211 1169
1212 // Test that when the NetworkManager doesn't have permission to enumerate 1170 // Test that when the NetworkManager doesn't have permission to enumerate
1213 // adapters, the PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION is specified 1171 // adapters, the PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION is specified
1214 // automatically. 1172 // automatically.
1215 TEST_F(PortAllocatorTest, TestNetworkPermissionBlocked) { 1173 TEST_F(PortAllocatorTest, TestNetworkPermissionBlocked) {
1216 AddInterface(kClientAddr); 1174 AddInterface(kClientAddr);
1217 network_manager_.set_enumeration_permission( 1175 network_manager_.set_enumeration_permission(
1218 rtc::NetworkManager::ENUMERATION_BLOCKED); 1176 rtc::NetworkManager::ENUMERATION_BLOCKED);
1219 allocator().set_flags(allocator().flags() | 1177 allocator().set_flags(allocator().flags() |
1220 cricket::PORTALLOCATOR_DISABLE_RELAY | 1178 cricket::PORTALLOCATOR_DISABLE_RELAY |
1221 cricket::PORTALLOCATOR_DISABLE_TCP | 1179 cricket::PORTALLOCATOR_DISABLE_TCP |
1222 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG |
1223 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); 1180 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET);
1224 EXPECT_EQ(0U, allocator_->flags() & 1181 EXPECT_EQ(0U, allocator_->flags() &
1225 cricket::PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION); 1182 cricket::PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION);
1226 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); 1183 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP));
1227 EXPECT_EQ(0U, session_->flags() & 1184 EXPECT_EQ(0U, session_->flags() &
1228 cricket::PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION); 1185 cricket::PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION);
1229 session_->StartGettingPorts(); 1186 session_->StartGettingPorts();
1230 EXPECT_EQ_WAIT(1U, ports_.size(), kDefaultAllocationTimeout); 1187 EXPECT_EQ_WAIT(1U, ports_.size(), kDefaultAllocationTimeout);
1231 EXPECT_EQ(0U, candidates_.size()); 1188 EXPECT_EQ(0U, candidates_.size());
1232 EXPECT_TRUE((session_->flags() & 1189 EXPECT_TRUE((session_->flags() &
1233 cricket::PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION) != 0); 1190 cricket::PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION) != 0);
1234 } 1191 }
1235 1192
1236 // This test verifies allocator can use IPv6 addresses along with IPv4. 1193 // This test verifies allocator can use IPv6 addresses along with IPv4.
1237 TEST_F(PortAllocatorTest, TestEnableIPv6Addresses) { 1194 TEST_F(PortAllocatorTest, TestEnableIPv6Addresses) {
1238 allocator().set_flags(allocator().flags() | 1195 allocator().set_flags(allocator().flags() |
1239 cricket::PORTALLOCATOR_DISABLE_RELAY | 1196 cricket::PORTALLOCATOR_DISABLE_RELAY |
1240 cricket::PORTALLOCATOR_ENABLE_IPV6 | 1197 cricket::PORTALLOCATOR_ENABLE_IPV6 |
1241 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG |
1242 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); 1198 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET);
1243 AddInterface(kClientIPv6Addr); 1199 AddInterface(kClientIPv6Addr);
1244 AddInterface(kClientAddr); 1200 AddInterface(kClientAddr);
1245 allocator_->set_step_delay(cricket::kMinimumStepDelay); 1201 allocator_->set_step_delay(cricket::kMinimumStepDelay);
1246 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); 1202 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP));
1247 session_->StartGettingPorts(); 1203 session_->StartGettingPorts();
1248 ASSERT_EQ_WAIT(4U, ports_.size(), kDefaultAllocationTimeout); 1204 ASSERT_EQ_WAIT(4U, ports_.size(), kDefaultAllocationTimeout);
1249 EXPECT_EQ(4U, candidates_.size()); 1205 EXPECT_EQ(4U, candidates_.size());
1250 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); 1206 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout);
1251 EXPECT_PRED5(CheckCandidate, candidates_[0], 1207 EXPECT_PRED5(CheckCandidate, candidates_[0],
1252 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", 1208 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp",
1253 kClientIPv6Addr); 1209 kClientIPv6Addr);
1254 EXPECT_PRED5(CheckCandidate, candidates_[1], 1210 EXPECT_PRED5(CheckCandidate, candidates_[1],
1255 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", 1211 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp",
1256 kClientAddr); 1212 kClientAddr);
1257 EXPECT_PRED5(CheckCandidate, candidates_[2], 1213 EXPECT_PRED5(CheckCandidate, candidates_[2],
1258 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "tcp", 1214 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "tcp",
1259 kClientIPv6Addr); 1215 kClientIPv6Addr);
1260 EXPECT_PRED5(CheckCandidate, candidates_[3], 1216 EXPECT_PRED5(CheckCandidate, candidates_[3],
1261 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "tcp", 1217 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "tcp",
1262 kClientAddr); 1218 kClientAddr);
1263 EXPECT_EQ(4U, candidates_.size()); 1219 EXPECT_EQ(4U, candidates_.size());
1264 } 1220 }
OLDNEW
« no previous file with comments | « webrtc/p2p/client/fakeportallocator.h ('k') | webrtc/p2p/p2p.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698