Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(115)

Side by Side Diff: webrtc/modules/congestion_controller/congestion_controller_unittest.cc

Issue 2279283002: Do not report bucket delay when pacer is paused. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/modules/congestion_controller/congestion_controller.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #include "testing/gmock/include/gmock/gmock.h" 11 #include "testing/gmock/include/gmock/gmock.h"
12 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
13 #include "webrtc/call/mock/mock_rtc_event_log.h" 13 #include "webrtc/call/mock/mock_rtc_event_log.h"
14 #include "webrtc/modules/pacing/mock/mock_paced_sender.h" 14 #include "webrtc/modules/pacing/mock/mock_paced_sender.h"
15 #include "webrtc/modules/congestion_controller/include/congestion_controller.h" 15 #include "webrtc/modules/congestion_controller/include/congestion_controller.h"
16 #include "webrtc/modules/congestion_controller/include/mock/mock_congestion_cont roller.h" 16 #include "webrtc/modules/congestion_controller/include/mock/mock_congestion_cont roller.h"
17 #include "webrtc/modules/remote_bitrate_estimator/include/mock/mock_remote_bitra te_observer.h" 17 #include "webrtc/modules/remote_bitrate_estimator/include/mock/mock_remote_bitra te_observer.h"
18 #include "webrtc/system_wrappers/include/clock.h" 18 #include "webrtc/system_wrappers/include/clock.h"
19 19
20 using testing::_; 20 using testing::_;
21 using testing::AtLeast;
21 using testing::NiceMock; 22 using testing::NiceMock;
22 using testing::Return; 23 using testing::Return;
23 using testing::SaveArg; 24 using testing::SaveArg;
24 using testing::StrictMock; 25 using testing::StrictMock;
25 26
26 namespace webrtc { 27 namespace webrtc {
27 namespace test { 28 namespace test {
28 29
29 class CongestionControllerTest : public ::testing::Test { 30 class CongestionControllerTest : public ::testing::Test {
30 protected: 31 protected:
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 clock_.AdvanceTimeMilliseconds(25); 163 clock_.AdvanceTimeMilliseconds(25);
163 controller_->Process(); 164 controller_->Process();
164 165
165 // Let the pacer not be full next time the controller checks. 166 // Let the pacer not be full next time the controller checks.
166 EXPECT_CALL(*pacer_, ExpectedQueueTimeMs()) 167 EXPECT_CALL(*pacer_, ExpectedQueueTimeMs())
167 .WillOnce(Return(PacedSender::kMaxQueueLengthMs - 1)); 168 .WillOnce(Return(PacedSender::kMaxQueueLengthMs - 1));
168 EXPECT_CALL(observer_, OnNetworkChanged(kInitialBitrateBps * 2, _, _)); 169 EXPECT_CALL(observer_, OnNetworkChanged(kInitialBitrateBps * 2, _, _));
169 controller_->Process(); 170 controller_->Process();
170 } 171 }
171 172
173 TEST_F(CongestionControllerTest, GetPacerQueuingDelayMs) {
174 EXPECT_CALL(observer_, OnNetworkChanged(_, _, _)).Times(AtLeast(1));
175
176 const int64_t kQueueTimeMs = 123;
177 EXPECT_CALL(*pacer_, QueueInMs()).WillRepeatedly(Return(kQueueTimeMs));
178 EXPECT_EQ(kQueueTimeMs, controller_->GetPacerQueuingDelayMs());
179
180 // Expect zero pacer delay when network is down.
181 controller_->SignalNetworkState(kNetworkDown);
182 EXPECT_EQ(0, controller_->GetPacerQueuingDelayMs());
183
184 // Network is up, pacer delay should be reported.
185 controller_->SignalNetworkState(kNetworkUp);
186 EXPECT_EQ(kQueueTimeMs, controller_->GetPacerQueuingDelayMs());
187 }
188
172 } // namespace test 189 } // namespace test
173 } // namespace webrtc 190 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/congestion_controller/congestion_controller.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698