| Index: webrtc/p2p/base/port_unittest.cc
|
| diff --git a/webrtc/p2p/base/port_unittest.cc b/webrtc/p2p/base/port_unittest.cc
|
| index 449021ad9fb4c78004d237bc4dd37b1d36eee599..4caa326a857b7abe80002b81fb1be00581ed383a 100644
|
| --- a/webrtc/p2p/base/port_unittest.cc
|
| +++ b/webrtc/p2p/base/port_unittest.cc
|
| @@ -58,6 +58,7 @@ static const SocketAddress kRelayTcpExtAddr("99.99.99.3", 5003);
|
| static const SocketAddress kRelaySslTcpIntAddr("99.99.99.2", 5004);
|
| static const SocketAddress kRelaySslTcpExtAddr("99.99.99.3", 5005);
|
| static const SocketAddress kTurnUdpIntAddr("99.99.99.4", STUN_SERVER_PORT);
|
| +static const SocketAddress kTurnTcpIntAddr("99.99.99.4", 5010);
|
| static const SocketAddress kTurnUdpExtAddr("99.99.99.5", 0);
|
| static const RelayCredentials kRelayCredentials("test", "test");
|
|
|
| @@ -497,19 +498,19 @@ class PortTest : public testing::Test, public sigslot::has_slots<> {
|
| TurnPort* CreateTurnPort(const SocketAddress& addr,
|
| PacketSocketFactory* socket_factory,
|
| ProtocolType int_proto, ProtocolType ext_proto) {
|
| - return CreateTurnPort(addr, socket_factory,
|
| - int_proto, ext_proto, kTurnUdpIntAddr);
|
| + SocketAddress server_addr =
|
| + int_proto == PROTO_TCP ? kTurnTcpIntAddr : kTurnUdpIntAddr;
|
| + return CreateTurnPort(addr, socket_factory, int_proto, ext_proto,
|
| + server_addr);
|
| }
|
| TurnPort* CreateTurnPort(const SocketAddress& addr,
|
| PacketSocketFactory* socket_factory,
|
| ProtocolType int_proto, ProtocolType ext_proto,
|
| const rtc::SocketAddress& server_addr) {
|
| - return TurnPort::Create(main_, socket_factory, &network_,
|
| - addr.ipaddr(), 0, 0,
|
| - username_, password_, ProtocolAddress(
|
| - server_addr, PROTO_UDP),
|
| - kRelayCredentials, 0,
|
| - std::string());
|
| + return TurnPort::Create(main_, socket_factory, &network_, addr.ipaddr(), 0,
|
| + 0, username_, password_,
|
| + ProtocolAddress(server_addr, int_proto),
|
| + kRelayCredentials, 0, std::string());
|
| }
|
| RelayPort* CreateGturnPort(const SocketAddress& addr,
|
| ProtocolType int_proto, ProtocolType ext_proto) {
|
| @@ -2162,6 +2163,17 @@ TEST_F(PortTest, TestCandidateFoundation) {
|
| ASSERT_EQ_WAIT(1U, turnport3->Candidates().size(), kTimeout);
|
| EXPECT_NE(turnport3->Candidates()[0].foundation(),
|
| turnport2->Candidates()[0].foundation());
|
| +
|
| + // Start a TCP turn server, and check that two turn candidates have
|
| + // different foundations if their relay protocols are different.
|
| + TestTurnServer turn_server3(rtc::Thread::Current(), kTurnTcpIntAddr,
|
| + kTurnUdpExtAddr, PROTO_TCP);
|
| + rtc::scoped_ptr<Port> turnport4(
|
| + CreateTurnPort(kLocalAddr1, nat_socket_factory1(), PROTO_TCP, PROTO_UDP));
|
| + turnport4->PrepareAddress();
|
| + ASSERT_EQ_WAIT(1U, turnport4->Candidates().size(), kTimeout);
|
| + EXPECT_NE(turnport2->Candidates()[0].foundation(),
|
| + turnport4->Candidates()[0].foundation());
|
| }
|
|
|
| // This test verifies the related addresses of different types of
|
|
|