Add waiting to SetSendSsrc tests.

These tests were flaky since a paced packet could arrive between
consecutive calls to NumRtpPackets or NumRtpBytes.

BUG=webrtc:5193
R=stefan@webrtc.org
TBR=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1436753003 .

Cr-Commit-Position: refs/heads/master@{#10603}
This commit is contained in:
Peter Boström
2015-11-11 16:19:33 +00:00
parent 4b56904b70
commit 718b6c72ae

View File

@ -1009,8 +1009,10 @@ class VideoMediaChannelTest : public testing::Test,
rtc::scoped_ptr<const rtc::Buffer> p(GetRtpPacket(0));
ParseRtpPacket(p.get(), NULL, NULL, NULL, NULL, &ssrc, NULL);
EXPECT_EQ(kSsrc, ssrc);
EXPECT_EQ(NumRtpPackets(), NumRtpPackets(ssrc));
EXPECT_EQ(NumRtpBytes(), NumRtpBytes(ssrc));
// Packets are being paced out, so these can mismatch between the first and
// second call to NumRtpPackets until pending packets are paced out.
EXPECT_EQ_WAIT(NumRtpPackets(), NumRtpPackets(ssrc), kTimeout);
EXPECT_EQ_WAIT(NumRtpBytes(), NumRtpBytes(ssrc), kTimeout);
EXPECT_EQ(1, NumSentSsrcs());
EXPECT_EQ(0, NumRtpPackets(kSsrc - 1));
EXPECT_EQ(0, NumRtpBytes(kSsrc - 1));
@ -1031,8 +1033,10 @@ class VideoMediaChannelTest : public testing::Test,
rtc::scoped_ptr<const rtc::Buffer> p(GetRtpPacket(0));
ParseRtpPacket(p.get(), NULL, NULL, NULL, NULL, &ssrc, NULL);
EXPECT_EQ(999u, ssrc);
EXPECT_EQ(NumRtpPackets(), NumRtpPackets(ssrc));
EXPECT_EQ(NumRtpBytes(), NumRtpBytes(ssrc));
// Packets are being paced out, so these can mismatch between the first and
// second call to NumRtpPackets until pending packets are paced out.
EXPECT_EQ_WAIT(NumRtpPackets(), NumRtpPackets(ssrc), kTimeout);
EXPECT_EQ_WAIT(NumRtpBytes(), NumRtpBytes(ssrc), kTimeout);
EXPECT_EQ(1, NumSentSsrcs());
EXPECT_EQ(0, NumRtpPackets(kSsrc));
EXPECT_EQ(0, NumRtpBytes(kSsrc));