diff --git a/webrtc/call/rampup_tests.cc b/webrtc/call/rampup_tests.cc index 6ec3d836ab..3006266c7f 100644 --- a/webrtc/call/rampup_tests.cc +++ b/webrtc/call/rampup_tests.cc @@ -51,11 +51,11 @@ RampUpTester::RampUpTester(size_t num_video_streams, num_flexfec_streams_(num_flexfec_streams), rtx_(rtx), red_(red), + report_perf_stats_(report_perf_stats), sender_call_(nullptr), send_stream_(nullptr), start_bitrate_bps_(start_bitrate_bps), min_run_time_ms_(min_run_time_ms), - report_perf_stats_(report_perf_stats), expected_bitrate_bps_(0), test_start_ms_(-1), ramp_up_finished_ms_(-1), @@ -390,7 +390,8 @@ RampUpDownUpTester::RampUpDownUpTester(size_t num_video_streams, const std::string& extension_type, bool rtx, bool red, - const std::vector& loss_rates) + const std::vector& loss_rates, + bool report_perf_stats) : RampUpTester(num_video_streams, num_audio_streams, num_flexfec_streams, @@ -399,7 +400,7 @@ RampUpDownUpTester::RampUpDownUpTester(size_t num_video_streams, extension_type, rtx, red, - true), + report_perf_stats), link_rates_({GetHighLinkCapacity(), kLowBandwidthLimitBps / 1000, GetHighLinkCapacity(), 0}), test_state_(kFirstRampup), @@ -495,9 +496,11 @@ void RampUpDownUpTester::EvolveTestState(int bitrate_bps, bool suspended) { case kFirstRampup: EXPECT_FALSE(suspended); if (bitrate_bps >= GetExpectedHighBitrate()) { - webrtc::test::PrintResult("ramp_up_down_up", GetModifierString(), - "first_rampup", now - state_start_ms_, "ms", - false); + if (report_perf_stats_) { + webrtc::test::PrintResult("ramp_up_down_up", GetModifierString(), + "first_rampup", now - state_start_ms_, "ms", + false); + } // Apply loss during the transition between states if FEC is enabled. forward_transport_config_.loss_percent = loss_rates_[test_state_]; test_state_ = kTransitionToNextState; @@ -509,9 +512,11 @@ void RampUpDownUpTester::EvolveTestState(int bitrate_bps, bool suspended) { bool check_suspend_state = num_video_streams_ > 0; if (bitrate_bps < kExpectedLowBitrateBps && suspended == check_suspend_state) { - webrtc::test::PrintResult("ramp_up_down_up", GetModifierString(), - "rampdown", now - state_start_ms_, "ms", - false); + if (report_perf_stats_) { + webrtc::test::PrintResult("ramp_up_down_up", GetModifierString(), + "rampdown", now - state_start_ms_, "ms", + false); + } // Apply loss during the transition between states if FEC is enabled. forward_transport_config_.loss_percent = loss_rates_[test_state_]; test_state_ = kTransitionToNextState; @@ -521,11 +526,13 @@ void RampUpDownUpTester::EvolveTestState(int bitrate_bps, bool suspended) { } case kSecondRampup: if (bitrate_bps >= GetExpectedHighBitrate() && !suspended) { - webrtc::test::PrintResult("ramp_up_down_up", GetModifierString(), - "second_rampup", now - state_start_ms_, "ms", - false); - ReportResult("ramp-up-down-up-average-network-latency", - send_transport_->GetAverageDelayMs(), "milliseconds"); + if (report_perf_stats_) { + webrtc::test::PrintResult("ramp_up_down_up", GetModifierString(), + "second_rampup", now - state_start_ms_, + "ms", false); + ReportResult("ramp-up-down-up-average-network-latency", + send_transport_->GetAverageDelayMs(), "milliseconds"); + } // Apply loss during the transition between states if FEC is enabled. forward_transport_config_.loss_percent = loss_rates_[test_state_]; test_state_ = kTransitionToNextState; @@ -566,8 +573,8 @@ static const uint32_t kStartBitrateBps = 60000; TEST_F(RampUpTest, UpDownUpAbsSendTimeSimulcastRedRtx) { std::vector loss_rates = {0, 0, 0, 0}; RampUpDownUpTester test(3, 0, 0, kStartBitrateBps, - RtpExtension::kAbsSendTimeUri, true, true, - loss_rates); + RtpExtension::kAbsSendTimeUri, true, true, loss_rates, + true); RunBaseTest(&test); } @@ -575,15 +582,17 @@ TEST_F(RampUpTest, UpDownUpTransportSequenceNumberRtx) { std::vector loss_rates = {0, 0, 0, 0}; RampUpDownUpTester test(3, 0, 0, kStartBitrateBps, RtpExtension::kTransportSequenceNumberUri, true, - false, loss_rates); + false, loss_rates, true); RunBaseTest(&test); } +// TODO(holmer): Tests which don't report perf stats should be moved to a +// different executable since they per definition are not perf tests. TEST_F(RampUpTest, UpDownUpTransportSequenceNumberPacketLoss) { std::vector loss_rates = {20, 0, 0, 0}; RampUpDownUpTester test(1, 0, 1, kStartBitrateBps, RtpExtension::kTransportSequenceNumberUri, true, - false, loss_rates); + false, loss_rates, false); RunBaseTest(&test); } @@ -591,7 +600,7 @@ TEST_F(RampUpTest, UpDownUpAudioVideoTransportSequenceNumberRtx) { std::vector loss_rates = {0, 0, 0, 0}; RampUpDownUpTester test(3, 1, 0, kStartBitrateBps, RtpExtension::kTransportSequenceNumberUri, true, - false, loss_rates); + false, loss_rates, true); RunBaseTest(&test); } @@ -599,7 +608,7 @@ TEST_F(RampUpTest, UpDownUpAudioTransportSequenceNumberRtx) { std::vector loss_rates = {0, 0, 0, 0}; RampUpDownUpTester test(0, 1, 0, kStartBitrateBps, RtpExtension::kTransportSequenceNumberUri, true, - false, loss_rates); + false, loss_rates, true); RunBaseTest(&test); } diff --git a/webrtc/call/rampup_tests.h b/webrtc/call/rampup_tests.h index b9fd5974ee..6710dd12f8 100644 --- a/webrtc/call/rampup_tests.h +++ b/webrtc/call/rampup_tests.h @@ -71,6 +71,7 @@ class RampUpTester : public test::EndToEndTest { const size_t num_flexfec_streams_; const bool rtx_; const bool red_; + const bool report_perf_stats_; Call* sender_call_; VideoSendStream* send_stream_; test::PacketTransport* send_transport_; @@ -99,7 +100,6 @@ class RampUpTester : public test::EndToEndTest { const int start_bitrate_bps_; const int64_t min_run_time_ms_; - const bool report_perf_stats_; int expected_bitrate_bps_; int64_t test_start_ms_; int64_t ramp_up_finished_ms_; @@ -121,7 +121,8 @@ class RampUpDownUpTester : public RampUpTester { const std::string& extension_type, bool rtx, bool red, - const std::vector& loss_rates); + const std::vector& loss_rates, + bool report_perf_stats); ~RampUpDownUpTester() override; protected: