diff options
Diffstat (limited to 'media/sctp/sctpdataengine_unittest.cc')
-rw-r--r-- | media/sctp/sctpdataengine_unittest.cc | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/media/sctp/sctpdataengine_unittest.cc b/media/sctp/sctpdataengine_unittest.cc index 0fb9b9d..fb00650 100644 --- a/media/sctp/sctpdataengine_unittest.cc +++ b/media/sctp/sctpdataengine_unittest.cc @@ -45,6 +45,11 @@ #include "webrtc/base/ssladapter.h" #include "webrtc/base/thread.h" +#ifdef HAVE_NSS_SSL_H +// TODO(thorcarpenter): Remove after webrtc switches over to BoringSSL. +#include "webrtc/base/nssstreamadapter.h" +#endif // HAVE_NSS_SSL_H + enum { MSG_PACKET = 1, }; @@ -69,8 +74,7 @@ class SctpFakeNetworkInterface : public cricket::MediaChannel::NetworkInterface, // TODO(ldixon): Can/should we use Buffer.TransferTo here? // Note: this assignment does a deep copy of data from packet. - rtc::Buffer* buffer = new rtc::Buffer(packet->data(), - packet->length()); + rtc::Buffer* buffer = new rtc::Buffer(packet->data(), packet->length()); thread_->Post(this, MSG_PACKET, rtc::WrapMessageData(buffer)); LOG(LS_VERBOSE) << "SctpFakeNetworkInterface::SendPacket, Posted message."; return true; @@ -219,6 +223,12 @@ class SctpDataMediaChannelTest : public testing::Test, // usrsctp uses the NSS random number generator on non-Android platforms, // so we need to initialize SSL. static void SetUpTestCase() { +#ifdef HAVE_NSS_SSL_H + // TODO(thorcarpenter): Remove after webrtc switches over to BoringSSL. + if (!rtc::NSSContext::InitializeSSL(NULL)) { + LOG(LS_WARNING) << "Unabled to initialize NSS."; + } +#endif // HAVE_NSS_SSL_H rtc::InitializeSSL(); } @@ -266,6 +276,10 @@ class SctpDataMediaChannelTest : public testing::Test, virtual void TearDown() { channel1()->SetSend(false); channel2()->SetSend(false); + + // Process messages until idle to prevent a sent packet from being dropped + // and causing memory leaks (not being deleted by the receiver). + ProcessMessagesUntilIdle(); } void AddStream(int ssrc) { |