Index: webrtc/api/webrtcsession_unittest.cc |
diff --git a/webrtc/api/webrtcsession_unittest.cc b/webrtc/api/webrtcsession_unittest.cc |
index c8ae058bac8c4a2724a02f277390ee132af12258..1a7a02622c42c0a9ce5da7faaf00801a9f0970c3 100644 |
--- a/webrtc/api/webrtcsession_unittest.cc |
+++ b/webrtc/api/webrtcsession_unittest.cc |
@@ -49,6 +49,12 @@ |
#include "webrtc/p2p/client/basicportallocator.h" |
#include "webrtc/pc/channelmanager.h" |
#include "webrtc/pc/mediasession.h" |
+ |
+#define MAYBE_SKIP_TEST(feature) \ |
+ if (!(feature())) { \ |
+ LOG(LS_INFO) << "Feature disabled... skipping"; \ |
+ return; \ |
+ } |
using cricket::FakeVoiceMediaChannel; |
using cricket::TransportInfo; |
@@ -1844,6 +1850,7 @@ |
// Test that we accept an offer with a DTLS fingerprint when DTLS is on |
// and that we return an answer with a DTLS fingerprint. |
TEST_P(WebRtcSessionTest, TestReceiveDtlsOfferCreateDtlsAnswer) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
SendAudioVideoStream1(); |
InitWithDtls(GetParam()); |
SetFactoryDtlsSrtp(); |
@@ -1872,6 +1879,7 @@ |
// Test that we set a local offer with a DTLS fingerprint when DTLS is on |
// and then we accept a remote answer with a DTLS fingerprint successfully. |
TEST_P(WebRtcSessionTest, TestCreateDtlsOfferReceiveDtlsAnswer) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
SendAudioVideoStream1(); |
InitWithDtls(GetParam()); |
SetFactoryDtlsSrtp(); |
@@ -1901,6 +1909,7 @@ |
// Test that if we support DTLS and the other side didn't offer a fingerprint, |
// we will fail to set the remote description. |
TEST_P(WebRtcSessionTest, TestReceiveNonDtlsOfferWhenDtlsOn) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
InitWithDtls(GetParam()); |
cricket::MediaSessionOptions options; |
options.recv_video = true; |
@@ -1924,6 +1933,7 @@ |
// Test that we return a failure when applying a local answer that doesn't have |
// a DTLS fingerprint when DTLS is required. |
TEST_P(WebRtcSessionTest, TestSetLocalNonDtlsAnswerWhenDtlsOn) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
InitWithDtls(GetParam()); |
SessionDescriptionInterface* offer = NULL; |
SessionDescriptionInterface* answer = NULL; |
@@ -1939,6 +1949,7 @@ |
// Test that we return a failure when applying a remote answer that doesn't have |
// a DTLS fingerprint when DTLS is required. |
TEST_P(WebRtcSessionTest, TestSetRemoteNonDtlsAnswerWhenDtlsOn) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
InitWithDtls(GetParam()); |
SessionDescriptionInterface* offer = CreateOffer(); |
cricket::MediaSessionOptions options; |
@@ -3915,6 +3926,8 @@ |
} |
TEST_P(WebRtcSessionTest, TestRtpDataChannelConstraintTakesPrecedence) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
+ |
configuration_.enable_rtp_data_channel = true; |
options_.disable_sctp_data_channels = false; |
@@ -3927,6 +3940,7 @@ |
// Test that sctp_content_name/sctp_transport_name (used for stats) are correct |
// before and after BUNDLE is negotiated. |
TEST_P(WebRtcSessionTest, SctpContentAndTransportName) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
SetFactoryDtlsSrtp(); |
InitWithDtls(GetParam()); |
@@ -3960,6 +3974,8 @@ |
} |
TEST_P(WebRtcSessionTest, TestCreateOfferWithSctpEnabledWithoutStreams) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
+ |
InitWithDtls(GetParam()); |
std::unique_ptr<SessionDescriptionInterface> offer(CreateOffer()); |
@@ -3968,6 +3984,7 @@ |
} |
TEST_P(WebRtcSessionTest, TestCreateAnswerWithSctpInOfferAndNoStreams) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
SetFactoryDtlsSrtp(); |
InitWithDtls(GetParam()); |
@@ -3999,6 +4016,8 @@ |
// Test that if DTLS is enabled, we end up with an SctpTransport created |
// (and not an RtpDataChannel). |
TEST_P(WebRtcSessionTest, TestSctpDataChannelWithDtls) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
+ |
InitWithDtls(GetParam()); |
SetLocalDescriptionWithDataChannel(); |
@@ -4009,6 +4028,7 @@ |
// Test that if SCTP is disabled, we don't end up with an SctpTransport |
// created (or an RtpDataChannel). |
TEST_P(WebRtcSessionTest, TestDisableSctpDataChannels) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
options_.disable_sctp_data_channels = true; |
InitWithDtls(GetParam()); |
@@ -4018,6 +4038,7 @@ |
} |
TEST_P(WebRtcSessionTest, TestSctpDataChannelSendPortParsing) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
const int new_send_port = 9998; |
const int new_recv_port = 7775; |
@@ -4059,6 +4080,8 @@ |
// WebRtcSession signals the SctpTransport creation request with the expected |
// config. |
TEST_P(WebRtcSessionTest, TestSctpDataChannelOpenMessage) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
+ |
InitWithDtls(GetParam()); |
SetLocalDescriptionWithDataChannel(); |
@@ -4098,6 +4121,7 @@ |
// identity generation is finished (even if a certificate is provided this is |
// an async op). |
TEST_P(WebRtcSessionTest, TestCreateOfferBeforeIdentityRequestReturnSuccess) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
InitWithDtls(GetParam()); |
EXPECT_TRUE(session_->waiting_for_certificate_for_testing()); |
@@ -4113,6 +4137,7 @@ |
// identity generation is finished (even if a certificate is provided this is |
// an async op). |
TEST_P(WebRtcSessionTest, TestCreateAnswerBeforeIdentityRequestReturnSuccess) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
InitWithDtls(GetParam()); |
SetFactoryDtlsSrtp(); |
@@ -4133,6 +4158,7 @@ |
// identity generation is finished (even if a certificate is provided this is |
// an async op). |
TEST_P(WebRtcSessionTest, TestCreateOfferAfterIdentityRequestReturnSuccess) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
InitWithDtls(GetParam()); |
EXPECT_TRUE_WAIT(!session_->waiting_for_certificate_for_testing(), 1000); |
@@ -4144,6 +4170,7 @@ |
// Verifies that CreateOffer fails when CreateOffer is called after async |
// identity generation fails. |
TEST_F(WebRtcSessionTest, TestCreateOfferAfterIdentityRequestReturnFailure) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
InitWithDtlsIdentityGenFail(); |
EXPECT_TRUE_WAIT(!session_->waiting_for_certificate_for_testing(), 1000); |
@@ -4156,6 +4183,7 @@ |
// before async identity generation is finished. |
TEST_P(WebRtcSessionTest, |
TestMultipleCreateOfferBeforeIdentityRequestReturnSuccess) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
VerifyMultipleAsyncCreateDescription(GetParam(), |
CreateSessionDescriptionRequest::kOffer); |
} |
@@ -4164,6 +4192,7 @@ |
// before async identity generation fails. |
TEST_F(WebRtcSessionTest, |
TestMultipleCreateOfferBeforeIdentityRequestReturnFailure) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
VerifyMultipleAsyncCreateDescriptionIdentityGenFailure( |
CreateSessionDescriptionRequest::kOffer); |
} |
@@ -4172,6 +4201,7 @@ |
// before async identity generation is finished. |
TEST_P(WebRtcSessionTest, |
TestMultipleCreateAnswerBeforeIdentityRequestReturnSuccess) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
VerifyMultipleAsyncCreateDescription( |
GetParam(), CreateSessionDescriptionRequest::kAnswer); |
} |
@@ -4180,6 +4210,7 @@ |
// before async identity generation fails. |
TEST_F(WebRtcSessionTest, |
TestMultipleCreateAnswerBeforeIdentityRequestReturnFailure) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
VerifyMultipleAsyncCreateDescriptionIdentityGenFailure( |
CreateSessionDescriptionRequest::kAnswer); |
} |
@@ -4223,6 +4254,7 @@ |
// Tests that we can renegotiate new media content with ICE candidates in the |
// new remote SDP. |
TEST_P(WebRtcSessionTest, TestRenegotiateNewMediaWithCandidatesInSdp) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
InitWithDtls(GetParam()); |
SetFactoryDtlsSrtp(); |
@@ -4252,6 +4284,7 @@ |
// Tests that we can renegotiate new media content with ICE candidates separated |
// from the remote SDP. |
TEST_P(WebRtcSessionTest, TestRenegotiateNewMediaWithCandidatesSeparated) { |
+ MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); |
InitWithDtls(GetParam()); |
SetFactoryDtlsSrtp(); |