From dd025d85b0738f1ee1dabb7ec53ba878d1e51bbc Mon Sep 17 00:00:00 2001 From: Danil Chapovalov Date: Wed, 20 Mar 2019 15:04:52 +0100 Subject: [PATCH] Avoid using global task queue factory in RtcpTransciever tests by not using convenient rtc::TaskQueue constructor and using TaskQueueForTest instead. Bug: webrtc:10284 Change-Id: I882ce4d1404a1cb9ab8bf97fca6beac3f89bb41d Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128604 Reviewed-by: Niels Moller Commit-Queue: Danil Chapovalov Cr-Commit-Position: refs/heads/master@{#27212} --- modules/rtp_rtcp/BUILD.gn | 2 +- .../source/rtcp_transceiver_impl_unittest.cc | 17 +++++------ .../source/rtcp_transceiver_unittest.cc | 28 ++++++++++--------- 3 files changed, 25 insertions(+), 22 deletions(-) diff --git a/modules/rtp_rtcp/BUILD.gn b/modules/rtp_rtcp/BUILD.gn index 22e93f18cd..1e61988210 100644 --- a/modules/rtp_rtcp/BUILD.gn +++ b/modules/rtp_rtcp/BUILD.gn @@ -450,7 +450,7 @@ if (rtc_include_tests) { "../../rtc_base:rate_limiter", "../../rtc_base:rtc_base_approved", "../../rtc_base:rtc_base_tests_utils", - "../../rtc_base:rtc_task_queue", + "../../rtc_base:task_queue_for_test", "../../system_wrappers", "../../test:field_trial", "../../test:rtp_test_utils", diff --git a/modules/rtp_rtcp/source/rtcp_transceiver_impl_unittest.cc b/modules/rtp_rtcp/source/rtcp_transceiver_impl_unittest.cc index 4f0d08eff2..794dfedf5a 100644 --- a/modules/rtp_rtcp/source/rtcp_transceiver_impl_unittest.cc +++ b/modules/rtp_rtcp/source/rtcp_transceiver_impl_unittest.cc @@ -22,7 +22,7 @@ #include "modules/rtp_rtcp/source/time_util.h" #include "rtc_base/event.h" #include "rtc_base/fake_clock.h" -#include "rtc_base/task_queue.h" +#include "rtc_base/task_queue_for_test.h" #include "test/gmock.h" #include "test/gtest.h" #include "test/mock_transport.h" @@ -36,7 +36,6 @@ using ::testing::Invoke; using ::testing::Return; using ::testing::SizeIs; using ::testing::StrictMock; -using ::webrtc::VideoBitrateAllocation; using ::webrtc::CompactNtp; using ::webrtc::CompactNtpRttToMs; using ::webrtc::MockRtcpRttStats; @@ -45,7 +44,9 @@ using ::webrtc::NtpTime; using ::webrtc::RtcpTransceiverConfig; using ::webrtc::RtcpTransceiverImpl; using ::webrtc::SaturatedUsToCompactNtp; +using ::webrtc::TaskQueueForTest; using ::webrtc::TimeMicrosToNtp; +using ::webrtc::VideoBitrateAllocation; using ::webrtc::rtcp::Bye; using ::webrtc::rtcp::CompoundPacket; using ::webrtc::rtcp::ReportBlock; @@ -138,7 +139,7 @@ RtcpTransceiverConfig DefaultTestConfig() { TEST(RtcpTransceiverImplTest, NeedToStopPeriodicTaskToDestroyOnTaskQueue) { FakeRtcpTransport transport; - rtc::TaskQueue queue("rtcp"); + TaskQueueForTest queue("rtcp"); RtcpTransceiverConfig config = DefaultTestConfig(); config.task_queue = &queue; config.schedule_periodic_compound_packets = true; @@ -158,7 +159,7 @@ TEST(RtcpTransceiverImplTest, NeedToStopPeriodicTaskToDestroyOnTaskQueue) { TEST(RtcpTransceiverImplTest, CanDestroyAfterTaskQueue) { FakeRtcpTransport transport; - auto* queue = new rtc::TaskQueue("rtcp"); + auto* queue = new TaskQueueForTest("rtcp"); RtcpTransceiverConfig config = DefaultTestConfig(); config.task_queue = queue; config.schedule_periodic_compound_packets = true; @@ -172,7 +173,7 @@ TEST(RtcpTransceiverImplTest, CanDestroyAfterTaskQueue) { } TEST(RtcpTransceiverImplTest, DelaysSendingFirstCompondPacket) { - rtc::TaskQueue queue("rtcp"); + TaskQueueForTest queue("rtcp"); FakeRtcpTransport transport; RtcpTransceiverConfig config; config.outgoing_transport = &transport; @@ -197,7 +198,7 @@ TEST(RtcpTransceiverImplTest, DelaysSendingFirstCompondPacket) { } TEST(RtcpTransceiverImplTest, PeriodicallySendsPackets) { - rtc::TaskQueue queue("rtcp"); + TaskQueueForTest queue("rtcp"); FakeRtcpTransport transport; RtcpTransceiverConfig config; config.outgoing_transport = &transport; @@ -231,7 +232,7 @@ TEST(RtcpTransceiverImplTest, PeriodicallySendsPackets) { } TEST(RtcpTransceiverImplTest, SendCompoundPacketDelaysPeriodicSendPackets) { - rtc::TaskQueue queue("rtcp"); + TaskQueueForTest queue("rtcp"); FakeRtcpTransport transport; RtcpTransceiverConfig config; config.outgoing_transport = &transport; @@ -317,7 +318,7 @@ TEST(RtcpTransceiverImplTest, SendsRtcpWhenNetworkStateIsUp) { } TEST(RtcpTransceiverImplTest, SendsPeriodicRtcpWhenNetworkStateIsUp) { - rtc::TaskQueue queue("rtcp"); + TaskQueueForTest queue("rtcp"); FakeRtcpTransport transport; RtcpTransceiverConfig config = DefaultTestConfig(); config.schedule_periodic_compound_packets = true; diff --git a/modules/rtp_rtcp/source/rtcp_transceiver_unittest.cc b/modules/rtp_rtcp/source/rtcp_transceiver_unittest.cc index d71918db03..12bf49c268 100644 --- a/modules/rtp_rtcp/source/rtcp_transceiver_unittest.cc +++ b/modules/rtp_rtcp/source/rtcp_transceiver_unittest.cc @@ -16,21 +16,23 @@ #include "modules/rtp_rtcp/source/rtcp_packet/sender_report.h" #include "modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h" #include "rtc_base/event.h" +#include "rtc_base/task_queue_for_test.h" #include "test/gmock.h" #include "test/gtest.h" #include "test/mock_transport.h" namespace { +using ::testing::_; using ::testing::AtLeast; using ::testing::Invoke; using ::testing::InvokeWithoutArgs; using ::testing::IsNull; using ::testing::NiceMock; -using ::testing::_; using ::webrtc::MockTransport; using ::webrtc::RtcpTransceiver; using ::webrtc::RtcpTransceiverConfig; +using ::webrtc::TaskQueueForTest; using ::webrtc::rtcp::TransportFeedback; class MockMediaReceiverRtcpObserver : public webrtc::MediaReceiverRtcpObserver { @@ -40,7 +42,7 @@ class MockMediaReceiverRtcpObserver : public webrtc::MediaReceiverRtcpObserver { constexpr int kTimeoutMs = 1000; -void WaitPostedTasks(rtc::TaskQueue* queue) { +void WaitPostedTasks(TaskQueueForTest* queue) { rtc::Event done; queue->PostTask([&done] { done.Set(); }); ASSERT_TRUE(done.Wait(kTimeoutMs)); @@ -48,7 +50,7 @@ void WaitPostedTasks(rtc::TaskQueue* queue) { TEST(RtcpTransceiverTest, SendsRtcpOnTaskQueueWhenCreatedOffTaskQueue) { MockTransport outgoing_transport; - rtc::TaskQueue queue("rtcp"); + TaskQueueForTest queue("rtcp"); RtcpTransceiverConfig config; config.outgoing_transport = &outgoing_transport; config.task_queue = &queue; @@ -65,7 +67,7 @@ TEST(RtcpTransceiverTest, SendsRtcpOnTaskQueueWhenCreatedOffTaskQueue) { TEST(RtcpTransceiverTest, SendsRtcpOnTaskQueueWhenCreatedOnTaskQueue) { MockTransport outgoing_transport; - rtc::TaskQueue queue("rtcp"); + TaskQueueForTest queue("rtcp"); RtcpTransceiverConfig config; config.outgoing_transport = &outgoing_transport; config.task_queue = &queue; @@ -85,7 +87,7 @@ TEST(RtcpTransceiverTest, SendsRtcpOnTaskQueueWhenCreatedOnTaskQueue) { TEST(RtcpTransceiverTest, CanBeDestroyedOnTaskQueue) { NiceMock outgoing_transport; - rtc::TaskQueue queue("rtcp"); + TaskQueueForTest queue("rtcp"); RtcpTransceiverConfig config; config.outgoing_transport = &outgoing_transport; config.task_queue = &queue; @@ -100,7 +102,7 @@ TEST(RtcpTransceiverTest, CanBeDestroyedOnTaskQueue) { } TEST(RtcpTransceiverTest, CanBeDestroyedWithoutBlocking) { - rtc::TaskQueue queue("rtcp"); + TaskQueueForTest queue("rtcp"); NiceMock outgoing_transport; RtcpTransceiverConfig config; config.outgoing_transport = &outgoing_transport; @@ -122,7 +124,7 @@ TEST(RtcpTransceiverTest, CanBeDestroyedWithoutBlocking) { TEST(RtcpTransceiverTest, MaySendPacketsAfterDestructor) { // i.e. Be careful! NiceMock outgoing_transport; // Must outlive queue below. - rtc::TaskQueue queue("rtcp"); + TaskQueueForTest queue("rtcp"); RtcpTransceiverConfig config; config.outgoing_transport = &outgoing_transport; config.task_queue = &queue; @@ -153,7 +155,7 @@ rtc::CopyOnWriteBuffer CreateSenderReport(uint32_t ssrc, uint32_t rtp_time) { TEST(RtcpTransceiverTest, DoesntPostToRtcpObserverAfterCallToRemove) { const uint32_t kRemoteSsrc = 1234; MockTransport null_transport; - rtc::TaskQueue queue("rtcp"); + TaskQueueForTest queue("rtcp"); RtcpTransceiverConfig config; config.outgoing_transport = &null_transport; config.task_queue = &queue; @@ -180,7 +182,7 @@ TEST(RtcpTransceiverTest, DoesntPostToRtcpObserverAfterCallToRemove) { TEST(RtcpTransceiverTest, RemoveMediaReceiverRtcpObserverIsNonBlocking) { const uint32_t kRemoteSsrc = 1234; MockTransport null_transport; - rtc::TaskQueue queue("rtcp"); + TaskQueueForTest queue("rtcp"); RtcpTransceiverConfig config; config.outgoing_transport = &null_transport; config.task_queue = &queue; @@ -204,7 +206,7 @@ TEST(RtcpTransceiverTest, RemoveMediaReceiverRtcpObserverIsNonBlocking) { TEST(RtcpTransceiverTest, CanCallSendCompoundPacketFromAnyThread) { MockTransport outgoing_transport; - rtc::TaskQueue queue("rtcp"); + TaskQueueForTest queue("rtcp"); RtcpTransceiverConfig config; config.outgoing_transport = &outgoing_transport; config.task_queue = &queue; @@ -224,7 +226,7 @@ TEST(RtcpTransceiverTest, CanCallSendCompoundPacketFromAnyThread) { // Call from the same queue transceiver use for processing. queue.PostTask([&] { rtcp_transceiver.SendCompoundPacket(); }); // Call from unrelated task queue. - rtc::TaskQueue queue_send("send_packet"); + TaskQueueForTest queue_send("send_packet"); queue_send.PostTask([&] { rtcp_transceiver.SendCompoundPacket(); }); WaitPostedTasks(&queue_send); @@ -233,7 +235,7 @@ TEST(RtcpTransceiverTest, CanCallSendCompoundPacketFromAnyThread) { TEST(RtcpTransceiverTest, DoesntSendPacketsAfterStopCallback) { NiceMock outgoing_transport; - rtc::TaskQueue queue("rtcp"); + TaskQueueForTest queue("rtcp"); RtcpTransceiverConfig config; config.outgoing_transport = &outgoing_transport; config.task_queue = &queue; @@ -253,7 +255,7 @@ TEST(RtcpTransceiverTest, DoesntSendPacketsAfterStopCallback) { TEST(RtcpTransceiverTest, SendsTransportFeedbackOnTaskQueue) { static constexpr uint32_t kSenderSsrc = 12345; MockTransport outgoing_transport; - rtc::TaskQueue queue("rtcp"); + TaskQueueForTest queue("rtcp"); RtcpTransceiverConfig config; config.feedback_ssrc = kSenderSsrc; config.outgoing_transport = &outgoing_transport;