From 12499ff20bbc8c23b0391905978cf5bdd50eb382 Mon Sep 17 00:00:00 2001 From: "turaj@webrtc.org" Date: Tue, 18 Mar 2014 00:23:55 +0000 Subject: [PATCH] Revert 5711 "Fixing a flaky test in video_engine_tests" > Fixing a flaky test in video_engine_tests > > VideoSendStreamTest.SuspendBelowMinBitrate was flaky. The problem was that when the first non-padding packet was sent after the stream was resumed, the statistics had not always been updated so that stats.suspended was false. After seeing the first non-padding packet after suspension, the test will now go into a state where it waits for the statistics to be changed. > > BUG=3068 > R=pbos@webrtc.org > TBR=stefan@webrtc.org > > Review URL: https://webrtc-codereview.appspot.com/10069004 TBR=henrik.lundin@webrtc.org Review URL: https://webrtc-codereview.appspot.com/10089005 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5712 4adac7df-926f-26a2-2b94-8c16560cd09d --- webrtc/video/video_send_stream_tests.cc | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/webrtc/video/video_send_stream_tests.cc b/webrtc/video/video_send_stream_tests.cc index 6a6b0e13f3..6cc0f6862d 100644 --- a/webrtc/video/video_send_stream_tests.cc +++ b/webrtc/video/video_send_stream_tests.cc @@ -870,8 +870,7 @@ TEST_F(VideoSendStreamTest, CanChangeSendCodec) { // 3. Wait until |kSuspendTimeFrames| have been captured without seeing any RTP // packets. // 4. Signal a high REMB and then wait for the RTP stream to start again. -// When the stream is detected again, and the stats show that the stream -// is no longer suspended, the test ends. +// When the stream is detected again, the test ends. TEST_F(VideoSendStreamTest, SuspendBelowMinBitrate) { static const int kSuspendTimeFrames = 60; // Suspend for 2 seconds @ 30 fps. @@ -923,15 +922,10 @@ TEST_F(VideoSendStreamTest, SuspendBelowMinBitrate) { } } else if (test_state_ == kWaitingForPacket) { if (header.paddingLength == 0) { - // Non-padding packet observed. Test is almost complete. Will just - // have to wait for the stats to change. - test_state_ = kWaitingForStats; - } - } else if (test_state_ == kWaitingForStats) { - assert(*send_stream_ptr_); - VideoSendStream::Stats stats = (*send_stream_ptr_)->GetStats(); - if (stats.suspended == false) { - // Stats flipped to false. Test is complete. + // Non-padding packet observed. Test is complete. + assert(*send_stream_ptr_); + VideoSendStream::Stats stats = (*send_stream_ptr_)->GetStats(); + EXPECT_FALSE(stats.suspended); observation_complete_->Set(); } } @@ -963,7 +957,7 @@ TEST_F(VideoSendStreamTest, SuspendBelowMinBitrate) { kBeforeSuspend, kDuringSuspend, kWaitingForPacket, - kWaitingForStats + kAfterSuspend }; virtual void SendRtcpFeedback(int remb_value) {