OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright 2012 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 1430 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1441 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10; | 1441 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10; |
1442 PeerConnectionFactory::Options recv_options; | 1442 PeerConnectionFactory::Options recv_options; |
1443 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10; | 1443 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10; |
1444 ASSERT_TRUE( | 1444 ASSERT_TRUE( |
1445 CreateTestClients(nullptr, &init_options, nullptr, &recv_options)); | 1445 CreateTestClients(nullptr, &init_options, nullptr, &recv_options)); |
1446 rtc::scoped_refptr<webrtc::FakeMetricsObserver> | 1446 rtc::scoped_refptr<webrtc::FakeMetricsObserver> |
1447 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>(); | 1447 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>(); |
1448 initializing_client()->pc()->RegisterUMAObserver(init_observer); | 1448 initializing_client()->pc()->RegisterUMAObserver(init_observer); |
1449 LocalP2PTest(); | 1449 LocalP2PTest(); |
1450 | 1450 |
1451 EXPECT_EQ_WAIT(rtc::SSLStreamAdapter::SslCipherSuiteToName( | 1451 EXPECT_TRUE_WAIT(rtc::SSLStreamAdapter::IsAcceptableCipher( |
tommi
2016/03/07 23:47:26
Just curious - Instead of using the "WAIT" macros,
torbjorng (webrtc)
2016/03/08 20:17:05
Perhaps. The present code is a bit odd, with timeo
| |
1452 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( | 1452 initializing_client()->GetDtlsCipherStats(), |
1453 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT)), | 1453 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT), |
1454 initializing_client()->GetDtlsCipherStats(), | 1454 kMaxWaitForStatsMs); |
1455 kMaxWaitForStatsMs); | 1455 #if 0 |
tommi
2016/03/07 23:47:26
if this block should be deleted, let's just delete
torbjorng (webrtc)
2016/03/08 20:17:05
Done.
| |
1456 EXPECT_EQ(1, init_observer->GetEnumCounter( | 1456 EXPECT_EQ(1, init_observer->GetEnumCounter( |
1457 webrtc::kEnumCounterAudioSslCipher, | 1457 webrtc::kEnumCounterAudioSslCipher, |
1458 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( | 1458 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( |
1459 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT))); | 1459 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT))); |
1460 #endif | |
1460 | 1461 |
1461 EXPECT_EQ_WAIT(rtc::SrtpCryptoSuiteToName(kDefaultSrtpCryptoSuite), | 1462 EXPECT_EQ_WAIT(rtc::SrtpCryptoSuiteToName(kDefaultSrtpCryptoSuite), |
1462 initializing_client()->GetSrtpCipherStats(), | 1463 initializing_client()->GetSrtpCipherStats(), |
1463 kMaxWaitForStatsMs); | 1464 kMaxWaitForStatsMs); |
1464 EXPECT_EQ(1, | 1465 EXPECT_EQ(1, |
1465 init_observer->GetEnumCounter(webrtc::kEnumCounterAudioSrtpCipher, | 1466 init_observer->GetEnumCounter(webrtc::kEnumCounterAudioSrtpCipher, |
1466 kDefaultSrtpCryptoSuite)); | 1467 kDefaultSrtpCryptoSuite)); |
1467 } | 1468 } |
1468 | 1469 |
1469 // Test that DTLS 1.2 is used if both ends support it. | 1470 // Test that DTLS 1.2 is used if both ends support it. |
1470 TEST_F(P2PTestConductor, GetDtls12Both) { | 1471 TEST_F(P2PTestConductor, GetDtls12Both) { |
1471 PeerConnectionFactory::Options init_options; | 1472 PeerConnectionFactory::Options init_options; |
1472 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12; | 1473 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12; |
1473 PeerConnectionFactory::Options recv_options; | 1474 PeerConnectionFactory::Options recv_options; |
1474 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12; | 1475 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12; |
1475 ASSERT_TRUE( | 1476 ASSERT_TRUE( |
1476 CreateTestClients(nullptr, &init_options, nullptr, &recv_options)); | 1477 CreateTestClients(nullptr, &init_options, nullptr, &recv_options)); |
1477 rtc::scoped_refptr<webrtc::FakeMetricsObserver> | 1478 rtc::scoped_refptr<webrtc::FakeMetricsObserver> |
1478 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>(); | 1479 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>(); |
1479 initializing_client()->pc()->RegisterUMAObserver(init_observer); | 1480 initializing_client()->pc()->RegisterUMAObserver(init_observer); |
1480 LocalP2PTest(); | 1481 LocalP2PTest(); |
1481 | 1482 |
1482 EXPECT_EQ_WAIT(rtc::SSLStreamAdapter::SslCipherSuiteToName( | 1483 EXPECT_TRUE_WAIT(rtc::SSLStreamAdapter::IsAcceptableCipher( |
1483 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( | 1484 initializing_client()->GetDtlsCipherStats(), |
1484 rtc::SSL_PROTOCOL_DTLS_12, rtc::KT_DEFAULT)), | 1485 rtc::SSL_PROTOCOL_DTLS_12, rtc::KT_DEFAULT), |
1485 initializing_client()->GetDtlsCipherStats(), | 1486 kMaxWaitForStatsMs); |
1486 kMaxWaitForStatsMs); | 1487 #if 0 |
1487 EXPECT_EQ(1, init_observer->GetEnumCounter( | 1488 EXPECT_EQ(1, init_observer->GetEnumCounter( |
1488 webrtc::kEnumCounterAudioSslCipher, | 1489 webrtc::kEnumCounterAudioSslCipher, |
1489 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( | 1490 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( |
1490 rtc::SSL_PROTOCOL_DTLS_12, rtc::KT_DEFAULT))); | 1491 rtc::SSL_PROTOCOL_DTLS_12, rtc::KT_DEFAULT))); |
1492 #endif | |
1491 | 1493 |
1492 EXPECT_EQ_WAIT(rtc::SrtpCryptoSuiteToName(kDefaultSrtpCryptoSuite), | 1494 EXPECT_EQ_WAIT(rtc::SrtpCryptoSuiteToName(kDefaultSrtpCryptoSuite), |
1493 initializing_client()->GetSrtpCipherStats(), | 1495 initializing_client()->GetSrtpCipherStats(), |
1494 kMaxWaitForStatsMs); | 1496 kMaxWaitForStatsMs); |
1495 EXPECT_EQ(1, | 1497 EXPECT_EQ(1, |
1496 init_observer->GetEnumCounter(webrtc::kEnumCounterAudioSrtpCipher, | 1498 init_observer->GetEnumCounter(webrtc::kEnumCounterAudioSrtpCipher, |
1497 kDefaultSrtpCryptoSuite)); | 1499 kDefaultSrtpCryptoSuite)); |
1498 } | 1500 } |
1499 | 1501 |
1500 // Test that DTLS 1.0 is used if the initator supports DTLS 1.2 and the | 1502 // Test that DTLS 1.0 is used if the initator supports DTLS 1.2 and the |
1501 // received supports 1.0. | 1503 // received supports 1.0. |
1502 TEST_F(P2PTestConductor, GetDtls12Init) { | 1504 TEST_F(P2PTestConductor, GetDtls12Init) { |
1503 PeerConnectionFactory::Options init_options; | 1505 PeerConnectionFactory::Options init_options; |
1504 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12; | 1506 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12; |
1505 PeerConnectionFactory::Options recv_options; | 1507 PeerConnectionFactory::Options recv_options; |
1506 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10; | 1508 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10; |
1507 ASSERT_TRUE( | 1509 ASSERT_TRUE( |
1508 CreateTestClients(nullptr, &init_options, nullptr, &recv_options)); | 1510 CreateTestClients(nullptr, &init_options, nullptr, &recv_options)); |
1509 rtc::scoped_refptr<webrtc::FakeMetricsObserver> | 1511 rtc::scoped_refptr<webrtc::FakeMetricsObserver> |
1510 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>(); | 1512 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>(); |
1511 initializing_client()->pc()->RegisterUMAObserver(init_observer); | 1513 initializing_client()->pc()->RegisterUMAObserver(init_observer); |
1512 LocalP2PTest(); | 1514 LocalP2PTest(); |
1513 | 1515 |
1514 EXPECT_EQ_WAIT(rtc::SSLStreamAdapter::SslCipherSuiteToName( | 1516 EXPECT_TRUE_WAIT(rtc::SSLStreamAdapter::IsAcceptableCipher( |
1515 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( | 1517 initializing_client()->GetDtlsCipherStats(), |
1516 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT)), | 1518 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT), |
1517 initializing_client()->GetDtlsCipherStats(), | 1519 kMaxWaitForStatsMs); |
1518 kMaxWaitForStatsMs); | 1520 #if 0 |
1519 EXPECT_EQ(1, init_observer->GetEnumCounter( | 1521 EXPECT_EQ(1, init_observer->GetEnumCounter( |
1520 webrtc::kEnumCounterAudioSslCipher, | 1522 webrtc::kEnumCounterAudioSslCipher, |
1521 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( | 1523 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( |
1522 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT))); | 1524 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT))); |
1525 #endif | |
1523 | 1526 |
1524 EXPECT_EQ_WAIT(rtc::SrtpCryptoSuiteToName(kDefaultSrtpCryptoSuite), | 1527 EXPECT_EQ_WAIT(rtc::SrtpCryptoSuiteToName(kDefaultSrtpCryptoSuite), |
1525 initializing_client()->GetSrtpCipherStats(), | 1528 initializing_client()->GetSrtpCipherStats(), |
1526 kMaxWaitForStatsMs); | 1529 kMaxWaitForStatsMs); |
1527 EXPECT_EQ(1, | 1530 EXPECT_EQ(1, |
1528 init_observer->GetEnumCounter(webrtc::kEnumCounterAudioSrtpCipher, | 1531 init_observer->GetEnumCounter(webrtc::kEnumCounterAudioSrtpCipher, |
1529 kDefaultSrtpCryptoSuite)); | 1532 kDefaultSrtpCryptoSuite)); |
1530 } | 1533 } |
1531 | 1534 |
1532 // Test that DTLS 1.0 is used if the initator supports DTLS 1.0 and the | 1535 // Test that DTLS 1.0 is used if the initator supports DTLS 1.0 and the |
1533 // received supports 1.2. | 1536 // received supports 1.2. |
1534 TEST_F(P2PTestConductor, GetDtls12Recv) { | 1537 TEST_F(P2PTestConductor, GetDtls12Recv) { |
1535 PeerConnectionFactory::Options init_options; | 1538 PeerConnectionFactory::Options init_options; |
1536 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10; | 1539 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10; |
1537 PeerConnectionFactory::Options recv_options; | 1540 PeerConnectionFactory::Options recv_options; |
1538 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12; | 1541 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12; |
1539 ASSERT_TRUE( | 1542 ASSERT_TRUE( |
1540 CreateTestClients(nullptr, &init_options, nullptr, &recv_options)); | 1543 CreateTestClients(nullptr, &init_options, nullptr, &recv_options)); |
1541 rtc::scoped_refptr<webrtc::FakeMetricsObserver> | 1544 rtc::scoped_refptr<webrtc::FakeMetricsObserver> |
1542 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>(); | 1545 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>(); |
1543 initializing_client()->pc()->RegisterUMAObserver(init_observer); | 1546 initializing_client()->pc()->RegisterUMAObserver(init_observer); |
1544 LocalP2PTest(); | 1547 LocalP2PTest(); |
1545 | 1548 |
1546 EXPECT_EQ_WAIT(rtc::SSLStreamAdapter::SslCipherSuiteToName( | 1549 EXPECT_TRUE_WAIT(rtc::SSLStreamAdapter::IsAcceptableCipher( |
1547 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( | 1550 initializing_client()->GetDtlsCipherStats(), |
1548 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT)), | 1551 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT), |
1549 initializing_client()->GetDtlsCipherStats(), | 1552 kMaxWaitForStatsMs); |
1550 kMaxWaitForStatsMs); | 1553 #if 0 |
1551 EXPECT_EQ(1, init_observer->GetEnumCounter( | 1554 EXPECT_EQ(1, init_observer->GetEnumCounter( |
1552 webrtc::kEnumCounterAudioSslCipher, | 1555 webrtc::kEnumCounterAudioSslCipher, |
1553 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( | 1556 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( |
1554 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT))); | 1557 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT))); |
1558 #endif | |
1555 | 1559 |
1556 EXPECT_EQ_WAIT(rtc::SrtpCryptoSuiteToName(kDefaultSrtpCryptoSuite), | 1560 EXPECT_EQ_WAIT(rtc::SrtpCryptoSuiteToName(kDefaultSrtpCryptoSuite), |
1557 initializing_client()->GetSrtpCipherStats(), | 1561 initializing_client()->GetSrtpCipherStats(), |
1558 kMaxWaitForStatsMs); | 1562 kMaxWaitForStatsMs); |
1559 EXPECT_EQ(1, | 1563 EXPECT_EQ(1, |
1560 init_observer->GetEnumCounter(webrtc::kEnumCounterAudioSrtpCipher, | 1564 init_observer->GetEnumCounter(webrtc::kEnumCounterAudioSrtpCipher, |
1561 kDefaultSrtpCryptoSuite)); | 1565 kDefaultSrtpCryptoSuite)); |
1562 } | 1566 } |
1563 | 1567 |
1564 // This test sets up a call between two parties with audio, video and an RTP | 1568 // This test sets up a call between two parties with audio, video and an RTP |
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2003 PeerConnectionInterface::IceServer server; | 2007 PeerConnectionInterface::IceServer server; |
2004 server.urls.push_back("turn:hostname"); | 2008 server.urls.push_back("turn:hostname"); |
2005 server.urls.push_back("turn:hostname2"); | 2009 server.urls.push_back("turn:hostname2"); |
2006 servers.push_back(server); | 2010 servers.push_back(server); |
2007 EXPECT_TRUE(webrtc::ParseIceServers(servers, &stun_servers_, &turn_servers_)); | 2011 EXPECT_TRUE(webrtc::ParseIceServers(servers, &stun_servers_, &turn_servers_)); |
2008 EXPECT_EQ(2U, turn_servers_.size()); | 2012 EXPECT_EQ(2U, turn_servers_.size()); |
2009 EXPECT_NE(turn_servers_[0].priority, turn_servers_[1].priority); | 2013 EXPECT_NE(turn_servers_[0].priority, turn_servers_[1].priority); |
2010 } | 2014 } |
2011 | 2015 |
2012 #endif // if !defined(THREAD_SANITIZER) | 2016 #endif // if !defined(THREAD_SANITIZER) |
OLD | NEW |