diff --git a/src/modules/bitrate_controller/bitrate_controller.gypi b/src/modules/bitrate_controller/bitrate_controller.gypi index 6685bf4e0f..06c6b65ad9 100644 --- a/src/modules/bitrate_controller/bitrate_controller.gypi +++ b/src/modules/bitrate_controller/bitrate_controller.gypi @@ -29,7 +29,19 @@ 'include/bitrate_controller.h', 'send_side_bandwidth_estimation.cc', 'send_side_bandwidth_estimation.h', - ], # source + ], + }, + { + 'target_name': 'bitrate_controller_unittests', + 'type': 'executable', + 'dependencies': [ + 'bitrate_controller', + '<(webrtc_root)/../test/test.gyp:test_support_main', + '<(webrtc_root)/../testing/gtest.gyp:gtest', + ], + 'sources': [ + 'bitrate_controller_unittest.cc', + ], }, ], } diff --git a/src/modules/bitrate_controller/test/test_bitrate_controller.cc b/src/modules/bitrate_controller/bitrate_controller_unittest.cc similarity index 62% rename from src/modules/bitrate_controller/test/test_bitrate_controller.cc rename to src/modules/bitrate_controller/bitrate_controller_unittest.cc index 281f9e9467..cb68f22924 100644 --- a/src/modules/bitrate_controller/test/test_bitrate_controller.cc +++ b/src/modules/bitrate_controller/bitrate_controller_unittest.cc @@ -23,21 +23,21 @@ using webrtc::BitrateController; class TestBitrateObserver: public BitrateObserver { public: TestBitrateObserver() - : last_bitrate(0), - last_fraction_loss(0), - last_rtt(0) { + : last_bitrate_(0), + last_fraction_loss_(0), + last_rtt_(0) { } virtual void OnNetworkChanged(const uint32_t bitrate, const uint8_t fraction_loss, const uint32_t rtt) { - last_bitrate = bitrate; - last_fraction_loss = fraction_loss; - last_rtt = rtt; + last_bitrate_ = bitrate; + last_fraction_loss_ = fraction_loss; + last_rtt_ = rtt; } - uint32_t last_bitrate; - uint8_t last_fraction_loss; - uint32_t last_rtt; + uint32_t last_bitrate_; + uint8_t last_fraction_loss_; + uint32_t last_rtt_; }; class BitrateControllerTest : public ::testing::Test { @@ -74,42 +74,42 @@ TEST_F(BitrateControllerTest, OneBitrateObserverOneRtcpObserver) { // Test start bitrate. bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 1, 1); - EXPECT_EQ(bitrate_observer.last_bitrate, 0u); - EXPECT_EQ(bitrate_observer.last_fraction_loss, 0); - EXPECT_EQ(bitrate_observer.last_rtt, 0u); + EXPECT_EQ(0u, bitrate_observer.last_bitrate_); + EXPECT_EQ(0, bitrate_observer.last_fraction_loss_); + EXPECT_EQ(0u, bitrate_observer.last_rtt_); // Test bitrate increase 8% per second. bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 21, 1001); - EXPECT_EQ(bitrate_observer.last_bitrate, 217000u); - EXPECT_EQ(bitrate_observer.last_fraction_loss, 0); - EXPECT_EQ(bitrate_observer.last_rtt, 50u); + EXPECT_EQ(217000u, bitrate_observer.last_bitrate_); + EXPECT_EQ(0, bitrate_observer.last_fraction_loss_); + EXPECT_EQ(50u, bitrate_observer.last_rtt_); bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 41, 2001); - EXPECT_EQ(bitrate_observer.last_bitrate, 235360u); + EXPECT_EQ(235360u, bitrate_observer.last_bitrate_); bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 61, 3001); - EXPECT_EQ(bitrate_observer.last_bitrate, 255189u); + EXPECT_EQ(255189u, bitrate_observer.last_bitrate_); bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 801, 4001); - EXPECT_EQ(bitrate_observer.last_bitrate, 276604u); + EXPECT_EQ(276604u, bitrate_observer.last_bitrate_); bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 101, 5001); - EXPECT_EQ(bitrate_observer.last_bitrate, 299732u); + EXPECT_EQ(299732u, bitrate_observer.last_bitrate_); bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 121, 6001); - EXPECT_EQ(bitrate_observer.last_bitrate, 300000u); // Max cap. + EXPECT_EQ(300000u, bitrate_observer.last_bitrate_); // Max cap. bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 141, 7001); - EXPECT_EQ(bitrate_observer.last_bitrate, 300000u); // Max cap. + EXPECT_EQ(300000u, bitrate_observer.last_bitrate_); // Max cap. // Test that a low REMB trigger immediately. bandwidth_observer_->OnReceivedEstimatedBitrate(250000); - EXPECT_EQ(bitrate_observer.last_bitrate, 250000u); - EXPECT_EQ(bitrate_observer.last_fraction_loss, 0); - EXPECT_EQ(bitrate_observer.last_rtt, 50u); + EXPECT_EQ(250000u, bitrate_observer.last_bitrate_); + EXPECT_EQ(0, bitrate_observer.last_fraction_loss_); + EXPECT_EQ(50u, bitrate_observer.last_rtt_); bandwidth_observer_->OnReceivedEstimatedBitrate(1000); - EXPECT_EQ(bitrate_observer.last_bitrate, 100000u); // Min cap. + EXPECT_EQ(100000u, bitrate_observer.last_bitrate_); // Min cap. controller_->RemoveBitrateObserver(&bitrate_observer); } @@ -126,53 +126,53 @@ TEST_F(BitrateControllerTest, OneBitrateObserverTwoRtcpObservers) { // Test start bitrate. bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 1, 1); second_bandwidth_observer->OnReceivedRtcpReceiverReport(1, 0, 100, 1, 1); - EXPECT_EQ(bitrate_observer.last_bitrate, 0u); - EXPECT_EQ(bitrate_observer.last_fraction_loss, 0); - EXPECT_EQ(bitrate_observer.last_rtt, 0u); + EXPECT_EQ(0u, bitrate_observer.last_bitrate_); + EXPECT_EQ(0, bitrate_observer.last_fraction_loss_); + EXPECT_EQ(0u, bitrate_observer.last_rtt_); // Test bitrate increase 8% per second. bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 21, 501); second_bandwidth_observer->OnReceivedRtcpReceiverReport(1, 0, 100, 21, 1001); - EXPECT_EQ(bitrate_observer.last_bitrate, 217000u); - EXPECT_EQ(bitrate_observer.last_fraction_loss, 0); - EXPECT_EQ(bitrate_observer.last_rtt, 100u); + EXPECT_EQ(217000u, bitrate_observer.last_bitrate_); + EXPECT_EQ(0, bitrate_observer.last_fraction_loss_); + EXPECT_EQ(100u, bitrate_observer.last_rtt_); // Extra report should not change estimate. second_bandwidth_observer->OnReceivedRtcpReceiverReport(1, 0, 100, 31, 1501); - EXPECT_EQ(bitrate_observer.last_bitrate, 217000u); + EXPECT_EQ(217000u, bitrate_observer.last_bitrate_); bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 41, 2001); - EXPECT_EQ(bitrate_observer.last_bitrate, 235360u); + EXPECT_EQ(235360u, bitrate_observer.last_bitrate_); // Second report should not change estimate. second_bandwidth_observer->OnReceivedRtcpReceiverReport(1, 0, 100, 41, 2001); - EXPECT_EQ(bitrate_observer.last_bitrate, 235360u); + EXPECT_EQ(235360u, bitrate_observer.last_bitrate_); // Reports from only one bandwidth observer is ok. second_bandwidth_observer->OnReceivedRtcpReceiverReport(1, 0, 50, 61, 3001); - EXPECT_EQ(bitrate_observer.last_bitrate, 255189u); + EXPECT_EQ(255189u, bitrate_observer.last_bitrate_); second_bandwidth_observer->OnReceivedRtcpReceiverReport(1, 0, 50, 81, 4001); - EXPECT_EQ(bitrate_observer.last_bitrate, 276604u); + EXPECT_EQ(276604u, bitrate_observer.last_bitrate_); second_bandwidth_observer->OnReceivedRtcpReceiverReport(1, 0, 50, 101, 5001); - EXPECT_EQ(bitrate_observer.last_bitrate, 299732u); + EXPECT_EQ(299732u, bitrate_observer.last_bitrate_); second_bandwidth_observer->OnReceivedRtcpReceiverReport(1, 0, 50, 121, 6001); - EXPECT_EQ(bitrate_observer.last_bitrate, 300000u); // Max cap. + EXPECT_EQ(300000u, bitrate_observer.last_bitrate_); // Max cap. second_bandwidth_observer->OnReceivedRtcpReceiverReport(1, 0, 50, 141, 7001); - EXPECT_EQ(bitrate_observer.last_bitrate, 300000u); // Max cap. + EXPECT_EQ(300000u, bitrate_observer.last_bitrate_); // Max cap. // Test that a low REMB trigger immediately. // We don't care which bandwidth observer that delivers the REMB. second_bandwidth_observer->OnReceivedEstimatedBitrate(250000); - EXPECT_EQ(bitrate_observer.last_bitrate, 250000u); - EXPECT_EQ(bitrate_observer.last_fraction_loss, 0); - EXPECT_EQ(bitrate_observer.last_rtt, 50u); + EXPECT_EQ(250000u, bitrate_observer.last_bitrate_); + EXPECT_EQ(0, bitrate_observer.last_fraction_loss_); + EXPECT_EQ(50u, bitrate_observer.last_rtt_); bandwidth_observer_->OnReceivedEstimatedBitrate(1000); - EXPECT_EQ(bitrate_observer.last_bitrate, 100000u); // Min cap. + EXPECT_EQ(100000u, bitrate_observer.last_bitrate_); // Min cap. controller_->RemoveBitrateObserver(&bitrate_observer); delete second_bandwidth_observer; } @@ -191,72 +191,70 @@ TEST_F(BitrateControllerTest, TwoBitrateObserversOneRtcpObserver) { // Test bitrate increase 8% per second, distributed equally. bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 21, 1001); - EXPECT_EQ(bitrate_observer_1.last_bitrate, 100000u); - EXPECT_EQ(bitrate_observer_1.last_fraction_loss, 0); - EXPECT_EQ(bitrate_observer_1.last_rtt, 50u); + EXPECT_EQ(100000u, bitrate_observer_1.last_bitrate_); + EXPECT_EQ(0, bitrate_observer_1.last_fraction_loss_); + EXPECT_EQ(50u, bitrate_observer_1.last_rtt_); - EXPECT_EQ(bitrate_observer_2.last_bitrate, 200000u); - EXPECT_EQ(bitrate_observer_2.last_fraction_loss, 0); - EXPECT_EQ(bitrate_observer_2.last_rtt, 50u); + EXPECT_EQ(200000u, bitrate_observer_2.last_bitrate_); + EXPECT_EQ(0, bitrate_observer_2.last_fraction_loss_); + EXPECT_EQ(50u, bitrate_observer_2.last_rtt_); bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 41, 2001); - EXPECT_EQ(bitrate_observer_1.last_bitrate, 112500u); - EXPECT_EQ(bitrate_observer_2.last_bitrate, 212500u); + EXPECT_EQ(112500u, bitrate_observer_1.last_bitrate_); + EXPECT_EQ(212500u, bitrate_observer_2.last_bitrate_); bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 61, 3001); - EXPECT_EQ(bitrate_observer_1.last_bitrate, 126000u); - EXPECT_EQ(bitrate_observer_2.last_bitrate, 226000u); + EXPECT_EQ(126000u, bitrate_observer_1.last_bitrate_); + EXPECT_EQ(226000u, bitrate_observer_2.last_bitrate_); bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 81, 4001); - EXPECT_EQ(bitrate_observer_1.last_bitrate, 140580u); - EXPECT_EQ(bitrate_observer_2.last_bitrate, 240580u); + EXPECT_EQ(140580u, bitrate_observer_1.last_bitrate_); + EXPECT_EQ(240580u, bitrate_observer_2.last_bitrate_); // Check that the bitrate sum honor our REMB. bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 101, 5001); - EXPECT_EQ(bitrate_observer_1.last_bitrate, 150000u); - EXPECT_EQ(bitrate_observer_2.last_bitrate, 250000u); + EXPECT_EQ(150000u, bitrate_observer_1.last_bitrate_); + EXPECT_EQ(250000u, bitrate_observer_2.last_bitrate_); // Remove REMB cap, higher than sum of max. bandwidth_observer_->OnReceivedEstimatedBitrate(700000); bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 121, 6001); - EXPECT_EQ(bitrate_observer_1.last_bitrate, 166500u); - EXPECT_EQ(bitrate_observer_2.last_bitrate, 266500u); + EXPECT_EQ(166500u, bitrate_observer_1.last_bitrate_); + EXPECT_EQ(266500u, bitrate_observer_2.last_bitrate_); bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 141, 7001); - EXPECT_EQ(bitrate_observer_1.last_bitrate, 184320u); - EXPECT_EQ(bitrate_observer_2.last_bitrate, 284320u); + EXPECT_EQ(184320u, bitrate_observer_1.last_bitrate_); + EXPECT_EQ(284320u, bitrate_observer_2.last_bitrate_); bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 161, 8001); - EXPECT_EQ(bitrate_observer_1.last_bitrate, 207130u); - EXPECT_EQ(bitrate_observer_2.last_bitrate, 300000u); // Max cap. + EXPECT_EQ(207130u, bitrate_observer_1.last_bitrate_); + EXPECT_EQ(300000u, bitrate_observer_2.last_bitrate_); // Max cap. bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 181, 9001); - EXPECT_EQ(bitrate_observer_1.last_bitrate, 248700u); - EXPECT_EQ(bitrate_observer_2.last_bitrate, 300000u); + EXPECT_EQ(248700u, bitrate_observer_1.last_bitrate_); + EXPECT_EQ(300000u, bitrate_observer_2.last_bitrate_); bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 201, 10001); - EXPECT_EQ(bitrate_observer_1.last_bitrate, 293596u); - EXPECT_EQ(bitrate_observer_2.last_bitrate, 300000u); + EXPECT_EQ(293596u, bitrate_observer_1.last_bitrate_); + EXPECT_EQ(300000u, bitrate_observer_2.last_bitrate_); bandwidth_observer_->OnReceivedRtcpReceiverReport(1, 0, 50, 221, 11001); - EXPECT_EQ(bitrate_observer_1.last_bitrate, 300000u); // Max cap. - EXPECT_EQ(bitrate_observer_2.last_bitrate, 300000u); + EXPECT_EQ(300000u, bitrate_observer_1.last_bitrate_); // Max cap. + EXPECT_EQ(300000u, bitrate_observer_2.last_bitrate_); // Test that a low REMB trigger immediately. bandwidth_observer_->OnReceivedEstimatedBitrate(350000); - EXPECT_EQ(bitrate_observer_1.last_bitrate, 125000u); - EXPECT_EQ(bitrate_observer_1.last_fraction_loss, 0); - EXPECT_EQ(bitrate_observer_1.last_rtt, 50u); - EXPECT_EQ(bitrate_observer_2.last_bitrate, 225000u); - EXPECT_EQ(bitrate_observer_2.last_fraction_loss, 0); - EXPECT_EQ(bitrate_observer_2.last_rtt, 50u); + EXPECT_EQ(125000u, bitrate_observer_1.last_bitrate_); + EXPECT_EQ(0, bitrate_observer_1.last_fraction_loss_); + EXPECT_EQ(50u, bitrate_observer_1.last_rtt_); + EXPECT_EQ(225000u, bitrate_observer_2.last_bitrate_); + EXPECT_EQ(0, bitrate_observer_2.last_fraction_loss_); + EXPECT_EQ(50u, bitrate_observer_2.last_rtt_); bandwidth_observer_->OnReceivedEstimatedBitrate(1000); - EXPECT_EQ(bitrate_observer_1.last_bitrate, 100000u); // Min cap. - EXPECT_EQ(bitrate_observer_2.last_bitrate, 200000u); // Min cap. + EXPECT_EQ(100000u, bitrate_observer_1.last_bitrate_); // Min cap. + EXPECT_EQ(200000u, bitrate_observer_2.last_bitrate_); // Min cap. controller_->RemoveBitrateObserver(&bitrate_observer_1); controller_->RemoveBitrateObserver(&bitrate_observer_2); } - - diff --git a/src/modules/bitrate_controller/test/test_bitrate_controller.gypi b/src/modules/bitrate_controller/test/test_bitrate_controller.gypi deleted file mode 100644 index c118e34f93..0000000000 --- a/src/modules/bitrate_controller/test/test_bitrate_controller.gypi +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. -# -# Use of this source code is governed by a BSD-style license -# that can be found in the LICENSE file in the root of the source -# tree. An additional intellectual property rights grant can be found -# in the file PATENTS. All contributing project authors may -# be found in the AUTHORS file in the root of the source tree. - -{ - 'targets': [ - { - 'target_name': 'test_bitrate_controller', - 'type': 'executable', - 'dependencies': [ - 'bitrate_controller', - '<(webrtc_root)/../test/test.gyp:test_support_main', - '<(webrtc_root)/../testing/gtest.gyp:gtest', - ], - - 'include_dirs': [ - '../include', - '../', - '../../../system_wrappers/interface', - ], - - 'sources': [ - 'test_bitrate_controller.cc', - ], - }, - ], -} - -# Local Variables: -# tab-width:2 -# indent-tabs-mode:nil -# End: -# vim: set expandtab tabstop=2 shiftwidth=2: diff --git a/src/modules/modules.gyp b/src/modules/modules.gyp index 317e8ba9a1..5e64715098 100644 --- a/src/modules/modules.gyp +++ b/src/modules/modules.gyp @@ -46,7 +46,6 @@ 'audio_coding/codecs/iSAC/isac_test.gypi', 'audio_coding/codecs/iSAC/isacfix_test.gypi', 'audio_processing/apm_tests.gypi', - 'bitrate_controller/test/test_bitrate_controller.gypi', 'rtp_rtcp/source/rtp_rtcp_tests.gypi', 'rtp_rtcp/test/test_bwe/test_bwe.gypi', 'rtp_rtcp/test/testFec/test_fec.gypi', diff --git a/tools/continuous_build/build_internal/masters/master.tryserver.webrtc/master.cfg b/tools/continuous_build/build_internal/masters/master.tryserver.webrtc/master.cfg index f0f0c54cbc..95f1c98773 100755 --- a/tools/continuous_build/build_internal/masters/master.tryserver.webrtc/master.cfg +++ b/tools/continuous_build/build_internal/masters/master.tryserver.webrtc/master.cfg @@ -68,6 +68,7 @@ NORMAL_TESTS = { 'audio_coding_unittests': (True, True, True), 'audio_conference_mixer_unittests':(True, True, True), 'audioproc_unittest': (True, True, True), + 'bitrate_controller_unittests': (True, True, True), 'cng_unittests': (True, True, True), 'g711_unittests': (True, True, True), 'g722_unittests': (True, True, True), diff --git a/tools/continuous_build/build_internal/masters/master.webrtc/master.cfg b/tools/continuous_build/build_internal/masters/master.webrtc/master.cfg index ccc97f163c..c033c3f76b 100755 --- a/tools/continuous_build/build_internal/masters/master.webrtc/master.cfg +++ b/tools/continuous_build/build_internal/masters/master.webrtc/master.cfg @@ -92,6 +92,7 @@ NORMAL_TESTS = { 'audio_conference_mixer_unittests':(True, True, True), 'audio_device_test_api': (False, True, False), # no audio devices 'audioproc_unittest': (True, True, True), + 'bitrate_controller_unittests': (True, True, True), 'cng_unittests': (True, True, True), 'g711_unittests': (True, True, True), 'g722_unittests': (True, True, True), @@ -143,6 +144,7 @@ TSAN_DISABLED_TESTS = [ ] ASAN_DISABLED_TESTS = [ 'audio_coding_module_test', # Issue 281 + 'bitrate_controller_unittests', # Issue 555 'neteq_unittests', # Issue 282 ]