Fix flaky EndToEndTest.TransportSeqNumOnAudioAndVideo

Add extra checks to it to simplify diagnostic should it fail again.

BUG=webrtc:7292

Review-Url: https://codereview.webrtc.org/2728103002
Cr-Commit-Position: refs/heads/master@{#16999}
This commit is contained in:
danilchap 2017-03-03 04:38:11 -08:00 committed by Commit bot
parent dea489f33e
commit bcb6004a9d

View File

@ -4025,7 +4025,8 @@ TEST_P(EndToEndTest, VerifyDefaultFlexfecReceiveConfigParameters) {
}
TEST_P(EndToEndTest, TransportSeqNumOnAudioAndVideo) {
static const int kExtensionId = 8;
static constexpr int kExtensionId = 8;
static constexpr size_t kMinPacketsToWaitFor = 50;
class TransportSequenceNumberTest : public test::EndToEndTest {
public:
TransportSequenceNumberTest()
@ -4063,7 +4064,7 @@ TEST_P(EndToEndTest, TransportSeqNumOnAudioAndVideo) {
if (header.ssrc == kAudioSendSsrc)
audio_observed_ = true;
if (audio_observed_ && video_observed_ &&
received_packet_ids_.size() == 50) {
received_packet_ids_.size() >= kMinPacketsToWaitFor) {
size_t packet_id_range =
*received_packet_ids_.rbegin() - *received_packet_ids_.begin() + 1;
EXPECT_EQ(received_packet_ids_.size(), packet_id_range);
@ -4075,6 +4076,11 @@ TEST_P(EndToEndTest, TransportSeqNumOnAudioAndVideo) {
void PerformTest() override {
EXPECT_TRUE(Wait()) << "Timed out while waiting for audio and video "
"packets with transport sequence number.";
// Double check conditions for successfull test to produce better error
// message when this test fail.
EXPECT_TRUE(video_observed_);
EXPECT_TRUE(audio_observed_);
EXPECT_GE(received_packet_ids_.size(), kMinPacketsToWaitFor);
}
private: