Use TaskQueueForTest instead or TaskQueue in unittests

To avoid hidden dependency on GlobalTaskQueueFactory used to construct TaskQueue

Bug: webrtc:10284
Change-Id: Iaa08be2827198e16aeb5538ea188d54cab60c1d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128879
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27291}
This commit is contained in:
Danil Chapovalov
2019-03-26 14:37:01 +01:00
committed by Commit Bot
parent a533e00fa0
commit 07122bc87e
17 changed files with 54 additions and 60 deletions

View File

@ -453,6 +453,7 @@ if (rtc_include_tests) {
"../../rtc_base:rtc_base_approved", "../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_base_tests_utils", "../../rtc_base:rtc_base_tests_utils",
"../../rtc_base:safe_minmax", "../../rtc_base:safe_minmax",
"../../rtc_base:task_queue_for_test",
"../../rtc_base/system:arch", "../../rtc_base/system:arch",
"../../rtc_base/system:file_wrapper", "../../rtc_base/system:file_wrapper",
"../../system_wrappers", "../../system_wrappers",
@ -618,7 +619,7 @@ if (rtc_include_tests) {
"../../rtc_base:protobuf_utils", "../../rtc_base:protobuf_utils",
"../../rtc_base:rtc_base_approved", "../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_json", "../../rtc_base:rtc_json",
"../../rtc_base:rtc_task_queue", "../../rtc_base:task_queue_for_test",
"../../system_wrappers", "../../system_wrappers",
"../../test:test_support", "../../test:test_support",
"aec_dump", "aec_dump",

View File

@ -87,7 +87,7 @@ if (rtc_enable_protobuf) {
":aec_dump_impl", ":aec_dump_impl",
"..:audioproc_debug_proto", "..:audioproc_debug_proto",
"../", "../",
"../../../rtc_base:rtc_task_queue", "../../../rtc_base:task_queue_for_test",
"../../../test:fileutils", "../../../test:fileutils",
"../../../test:test_support", "../../../test:test_support",
"//testing/gtest", "//testing/gtest",

View File

@ -12,14 +12,14 @@
#include "modules/audio_processing/aec_dump/aec_dump_factory.h" #include "modules/audio_processing/aec_dump/aec_dump_factory.h"
#include "rtc_base/task_queue.h" #include "rtc_base/task_queue_for_test.h"
#include "test/gtest.h" #include "test/gtest.h"
#include "test/testsupport/file_utils.h" #include "test/testsupport/file_utils.h"
TEST(AecDumper, APICallsDoNotCrash) { TEST(AecDumper, APICallsDoNotCrash) {
// Note order of initialization: Task queue has to be initialized // Note order of initialization: Task queue has to be initialized
// before AecDump. // before AecDump.
rtc::TaskQueue file_writer_queue("file_writer_queue"); webrtc::TaskQueueForTest file_writer_queue("file_writer_queue");
const std::string filename = const std::string filename =
webrtc::test::TempFilename(webrtc::test::OutputPath(), "aec_dump"); webrtc::test::TempFilename(webrtc::test::OutputPath(), "aec_dump");
@ -48,7 +48,7 @@ TEST(AecDumper, APICallsDoNotCrash) {
} }
TEST(AecDumper, WriteToFile) { TEST(AecDumper, WriteToFile) {
rtc::TaskQueue file_writer_queue("file_writer_queue"); webrtc::TaskQueueForTest file_writer_queue("file_writer_queue");
const std::string filename = const std::string filename =
webrtc::test::TempFilename(webrtc::test::OutputPath(), "aec_dump"); webrtc::test::TempFilename(webrtc::test::OutputPath(), "aec_dump");

View File

@ -38,7 +38,7 @@
#include "rtc_base/strings/string_builder.h" #include "rtc_base/strings/string_builder.h"
#include "rtc_base/swap_queue.h" #include "rtc_base/swap_queue.h"
#include "rtc_base/system/arch.h" #include "rtc_base/system/arch.h"
#include "rtc_base/task_queue.h" #include "rtc_base/task_queue_for_test.h"
#include "rtc_base/thread.h" #include "rtc_base/thread.h"
#include "test/gtest.h" #include "test/gtest.h"
#include "test/testsupport/file_utils.h" #include "test/testsupport/file_utils.h"
@ -1448,7 +1448,7 @@ void ApmTest::ProcessDebugDump(const std::string& in_filename,
const std::string& out_filename, const std::string& out_filename,
Format format, Format format,
int max_size_bytes) { int max_size_bytes) {
rtc::TaskQueue worker_queue("ApmTest_worker_queue"); TaskQueueForTest worker_queue("ApmTest_worker_queue");
FILE* in_file = fopen(in_filename.c_str(), "rb"); FILE* in_file = fopen(in_filename.c_str(), "rb");
ASSERT_TRUE(in_file != NULL); ASSERT_TRUE(in_file != NULL);
audioproc::Event event_msg; audioproc::Event event_msg;
@ -1616,7 +1616,7 @@ TEST_F(ApmTest, VerifyDebugDumpFloat) {
// TODO(andrew): expand test to verify output. // TODO(andrew): expand test to verify output.
TEST_F(ApmTest, DebugDump) { TEST_F(ApmTest, DebugDump) {
rtc::TaskQueue worker_queue("ApmTest_worker_queue"); TaskQueueForTest worker_queue("ApmTest_worker_queue");
const std::string filename = const std::string filename =
test::TempFilename(test::OutputPath(), "debug_aec"); test::TempFilename(test::OutputPath(), "debug_aec");
{ {
@ -1650,7 +1650,7 @@ TEST_F(ApmTest, DebugDump) {
// TODO(andrew): expand test to verify output. // TODO(andrew): expand test to verify output.
TEST_F(ApmTest, DebugDumpFromFileHandle) { TEST_F(ApmTest, DebugDumpFromFileHandle) {
rtc::TaskQueue worker_queue("ApmTest_worker_queue"); TaskQueueForTest worker_queue("ApmTest_worker_queue");
const std::string filename = const std::string filename =
test::TempFilename(test::OutputPath(), "debug_aec"); test::TempFilename(test::OutputPath(), "debug_aec");

View File

@ -23,7 +23,7 @@
#include "modules/audio_processing/test/fake_recording_device.h" #include "modules/audio_processing/test/fake_recording_device.h"
#include "modules/audio_processing/test/test_utils.h" #include "modules/audio_processing/test/test_utils.h"
#include "rtc_base/constructor_magic.h" #include "rtc_base/constructor_magic.h"
#include "rtc_base/task_queue.h" #include "rtc_base/task_queue_for_test.h"
#include "rtc_base/time_utils.h" #include "rtc_base/time_utils.h"
namespace webrtc { namespace webrtc {
@ -199,7 +199,7 @@ class AudioProcessingSimulator {
int analog_mic_level_; int analog_mic_level_;
FakeRecordingDevice fake_recording_device_; FakeRecordingDevice fake_recording_device_;
rtc::TaskQueue worker_queue_; TaskQueueForTest worker_queue_;
RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(AudioProcessingSimulator); RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(AudioProcessingSimulator);
}; };

View File

@ -19,7 +19,7 @@
#include "modules/audio_processing/aec_dump/aec_dump_factory.h" #include "modules/audio_processing/aec_dump/aec_dump_factory.h"
#include "modules/audio_processing/test/debug_dump_replayer.h" #include "modules/audio_processing/test/debug_dump_replayer.h"
#include "modules/audio_processing/test/test_utils.h" #include "modules/audio_processing/test/test_utils.h"
#include "rtc_base/task_queue.h" #include "rtc_base/task_queue_for_test.h"
#include "test/gtest.h" #include "test/gtest.h"
#include "test/testsupport/file_utils.h" #include "test/testsupport/file_utils.h"
@ -110,7 +110,7 @@ class DebugDumpGenerator {
bool enable_pre_amplifier_; bool enable_pre_amplifier_;
rtc::TaskQueue worker_queue_; TaskQueueForTest worker_queue_;
std::unique_ptr<AudioProcessing> apm_; std::unique_ptr<AudioProcessing> apm_;
const std::string dump_file_name_; const std::string dump_file_name_;

View File

@ -426,6 +426,7 @@ if (rtc_include_tests) {
"../rtc_base:gunit_helpers", "../rtc_base:gunit_helpers",
"../rtc_base:rtc_base_approved", "../rtc_base:rtc_base_approved",
"../rtc_base:rtc_task_queue", "../rtc_base:rtc_task_queue",
"../rtc_base:task_queue_for_test",
"../rtc_base/task_utils:repeating_task", "../rtc_base/task_utils:repeating_task",
"../rtc_base/third_party/sigslot", "../rtc_base/third_party/sigslot",
"../test:test_support", "../test:test_support",

View File

@ -17,7 +17,7 @@
#include "api/video/video_source_interface.h" #include "api/video/video_source_interface.h"
#include "media/base/fake_frame_source.h" #include "media/base/fake_frame_source.h"
#include "media/base/video_broadcaster.h" #include "media/base/video_broadcaster.h"
#include "rtc_base/task_queue.h" #include "rtc_base/task_queue_for_test.h"
#include "rtc_base/task_utils/repeating_task.h" #include "rtc_base/task_utils/repeating_task.h"
namespace webrtc { namespace webrtc {
@ -44,8 +44,8 @@ class FakePeriodicVideoSource final
config.height, config.height,
config.frame_interval_ms * rtc::kNumMicrosecsPerMillisec, config.frame_interval_ms * rtc::kNumMicrosecsPerMillisec,
config.timestamp_offset_ms * rtc::kNumMicrosecsPerMillisec), config.timestamp_offset_ms * rtc::kNumMicrosecsPerMillisec),
task_queue_( task_queue_(absl::make_unique<TaskQueueForTest>(
absl::make_unique<rtc::TaskQueue>("FakePeriodicVideoTrackSource")) { "FakePeriodicVideoTrackSource")) {
thread_checker_.DetachFromThread(); thread_checker_.DetachFromThread();
frame_source_.SetRotation(config.rotation); frame_source_.SetRotation(config.rotation);
@ -82,7 +82,7 @@ class FakePeriodicVideoSource final
rtc::VideoBroadcaster broadcaster_; rtc::VideoBroadcaster broadcaster_;
cricket::FakeFrameSource frame_source_; cricket::FakeFrameSource frame_source_;
std::unique_ptr<rtc::TaskQueue> task_queue_; std::unique_ptr<TaskQueueForTest> task_queue_;
}; };
} // namespace webrtc } // namespace webrtc

View File

@ -1284,6 +1284,7 @@ if (rtc_include_tests) {
":rtc_base_tests_main", ":rtc_base_tests_main",
":rtc_base_tests_utils", ":rtc_base_tests_utils",
":rtc_task_queue", ":rtc_task_queue",
":task_queue_for_test",
"../test:test_support", "../test:test_support",
"//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/memory",
] ]
@ -1319,7 +1320,7 @@ if (rtc_include_tests) {
":rtc_base_tests_main", ":rtc_base_tests_main",
":rtc_base_tests_utils", ":rtc_base_tests_utils",
":rtc_event", ":rtc_event",
":rtc_task_queue", ":task_queue_for_test",
":weak_ptr", ":weak_ptr",
"../test:test_support", "../test:test_support",
"//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/memory",

View File

@ -23,7 +23,7 @@
#include "absl/memory/memory.h" #include "absl/memory/memory.h"
#include "rtc_base/bind.h" #include "rtc_base/bind.h"
#include "rtc_base/event.h" #include "rtc_base/event.h"
#include "rtc_base/task_queue.h" #include "rtc_base/task_queue_for_test.h"
#include "rtc_base/time_utils.h" #include "rtc_base/time_utils.h"
#include "test/gtest.h" #include "test/gtest.h"
@ -64,7 +64,7 @@ TEST(TaskQueueTest, DISABLED_PostDelayedHighRes) {
static const char kQueueName[] = "PostDelayedHighRes"; static const char kQueueName[] = "PostDelayedHighRes";
Event event; Event event;
TaskQueue queue(kQueueName, TaskQueue::Priority::HIGH); webrtc::TaskQueueForTest queue(kQueueName, TaskQueue::Priority::HIGH);
uint32_t start = Time(); uint32_t start = Time();
queue.PostDelayedTask(Bind(&CheckCurrent, &event, &queue), 3); queue.PostDelayedTask(Bind(&CheckCurrent, &event, &queue), 3);

View File

@ -46,6 +46,7 @@ if (rtc_include_tests) {
":repeating_task", ":repeating_task",
"..:rtc_base_approved", "..:rtc_base_approved",
"..:rtc_task_queue", "..:rtc_task_queue",
"..:task_queue_for_test",
"../../test:test_support", "../../test:test_support",
"//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/memory",
] ]

View File

@ -15,7 +15,7 @@
#include "absl/memory/memory.h" #include "absl/memory/memory.h"
#include "rtc_base/event.h" #include "rtc_base/event.h"
#include "rtc_base/task_queue.h" #include "rtc_base/task_queue_for_test.h"
#include "rtc_base/task_utils/repeating_task.h" #include "rtc_base/task_utils/repeating_task.h"
#include "test/gmock.h" #include "test/gmock.h"
#include "test/gtest.h" #include "test/gtest.h"
@ -68,7 +68,7 @@ TEST(RepeatingTaskTest, TaskIsStoppedOnStop) {
const int kShortIntervalCount = 4; const int kShortIntervalCount = 4;
const int kMargin = 1; const int kMargin = 1;
rtc::TaskQueue task_queue("TestQueue"); TaskQueueForTest task_queue("TestQueue");
std::atomic_int counter(0); std::atomic_int counter(0);
auto handle = RepeatingTaskHandle::Start(task_queue.Get(), [&] { auto handle = RepeatingTaskHandle::Start(task_queue.Get(), [&] {
if (++counter >= kShortIntervalCount) if (++counter >= kShortIntervalCount)
@ -96,7 +96,7 @@ TEST(RepeatingTaskTest, CompensatesForLongRunTime) {
const int kSleepAtCount = 3; const int kSleepAtCount = 3;
std::atomic_int counter(0); std::atomic_int counter(0);
rtc::TaskQueue task_queue("TestQueue"); TaskQueueForTest task_queue("TestQueue");
RepeatingTaskHandle::Start(task_queue.Get(), [&] { RepeatingTaskHandle::Start(task_queue.Get(), [&] {
if (++counter == kSleepAtCount) if (++counter == kSleepAtCount)
Sleep(kSleepDuration); Sleep(kSleepDuration);
@ -110,7 +110,7 @@ TEST(RepeatingTaskTest, CompensatesForLongRunTime) {
TEST(RepeatingTaskTest, CompensatesForShortRunTime) { TEST(RepeatingTaskTest, CompensatesForShortRunTime) {
std::atomic_int counter(0); std::atomic_int counter(0);
rtc::TaskQueue task_queue("TestQueue"); TaskQueueForTest task_queue("TestQueue");
RepeatingTaskHandle::Start(task_queue.Get(), [&] { RepeatingTaskHandle::Start(task_queue.Get(), [&] {
++counter; ++counter;
// Sleeping for the 10 ms should be compensated. // Sleeping for the 10 ms should be compensated.
@ -129,7 +129,7 @@ TEST(RepeatingTaskTest, CancelDelayedTaskBeforeItRuns) {
MockClosure mock; MockClosure mock;
EXPECT_CALL(mock, Call).Times(0); EXPECT_CALL(mock, Call).Times(0);
EXPECT_CALL(mock, Delete).WillOnce(Invoke([&done] { done.Set(); })); EXPECT_CALL(mock, Delete).WillOnce(Invoke([&done] { done.Set(); }));
rtc::TaskQueue task_queue("queue"); TaskQueueForTest task_queue("queue");
auto handle = RepeatingTaskHandle::DelayedStart( auto handle = RepeatingTaskHandle::DelayedStart(
task_queue.Get(), TimeDelta::ms(100), MoveOnlyClosure(&mock)); task_queue.Get(), TimeDelta::ms(100), MoveOnlyClosure(&mock));
handle.PostStop(); handle.PostStop();
@ -141,7 +141,7 @@ TEST(RepeatingTaskTest, CancelTaskAfterItRuns) {
MockClosure mock; MockClosure mock;
EXPECT_CALL(mock, Call).WillOnce(Return(TimeDelta::ms(100))); EXPECT_CALL(mock, Call).WillOnce(Return(TimeDelta::ms(100)));
EXPECT_CALL(mock, Delete).WillOnce(Invoke([&done] { done.Set(); })); EXPECT_CALL(mock, Delete).WillOnce(Invoke([&done] { done.Set(); }));
rtc::TaskQueue task_queue("queue"); TaskQueueForTest task_queue("queue");
auto handle = auto handle =
RepeatingTaskHandle::Start(task_queue.Get(), MoveOnlyClosure(&mock)); RepeatingTaskHandle::Start(task_queue.Get(), MoveOnlyClosure(&mock));
handle.PostStop(); handle.PostStop();
@ -150,7 +150,7 @@ TEST(RepeatingTaskTest, CancelTaskAfterItRuns) {
TEST(RepeatingTaskTest, TaskCanStopItself) { TEST(RepeatingTaskTest, TaskCanStopItself) {
std::atomic_int counter(0); std::atomic_int counter(0);
rtc::TaskQueue task_queue("TestQueue"); TaskQueueForTest task_queue("TestQueue");
RepeatingTaskHandle handle; RepeatingTaskHandle handle;
task_queue.PostTask([&] { task_queue.PostTask([&] {
handle = RepeatingTaskHandle::Start(task_queue.Get(), [&] { handle = RepeatingTaskHandle::Start(task_queue.Get(), [&] {
@ -172,7 +172,7 @@ TEST(RepeatingTaskTest, ZeroReturnValueRepostsTheTask) {
done.Set(); done.Set();
return kTimeout; return kTimeout;
})); }));
rtc::TaskQueue task_queue("queue"); TaskQueueForTest task_queue("queue");
RepeatingTaskHandle::Start(task_queue.Get(), MoveOnlyClosure(&closure)); RepeatingTaskHandle::Start(task_queue.Get(), MoveOnlyClosure(&closure));
EXPECT_TRUE(done.Wait(kTimeout.ms())); EXPECT_TRUE(done.Wait(kTimeout.ms()));
} }
@ -187,7 +187,7 @@ TEST(RepeatingTaskTest, StartPeriodicTask) {
done.Set(); done.Set();
return kTimeout; return kTimeout;
})); }));
rtc::TaskQueue task_queue("queue"); TaskQueueForTest task_queue("queue");
RepeatingTaskHandle::Start(task_queue.Get(), closure.AsStdFunction()); RepeatingTaskHandle::Start(task_queue.Get(), closure.AsStdFunction());
EXPECT_TRUE(done.Wait(kTimeout.ms())); EXPECT_TRUE(done.Wait(kTimeout.ms()));
} }
@ -205,7 +205,7 @@ TEST(RepeatingTaskTest, Example) {
}); });
} }
}; };
rtc::TaskQueue task_queue("queue"); TaskQueueForTest task_queue("queue");
auto object = absl::make_unique<ObjectOnTaskQueue>(); auto object = absl::make_unique<ObjectOnTaskQueue>();
// Create and start the periodic task. // Create and start the periodic task.
RepeatingTaskHandle handle; RepeatingTaskHandle handle;

View File

@ -13,7 +13,7 @@
#include "absl/memory/memory.h" #include "absl/memory/memory.h"
#include "rtc_base/event.h" #include "rtc_base/event.h"
#include "rtc_base/task_queue.h" #include "rtc_base/task_queue_for_test.h"
#include "rtc_base/weak_ptr.h" #include "rtc_base/weak_ptr.h"
#include "test/gtest.h" #include "test/gtest.h"
@ -203,13 +203,8 @@ TEST(WeakPtrTest, HasWeakPtrs) {
template <class T> template <class T>
std::unique_ptr<T> NewObjectCreatedOnTaskQueue() { std::unique_ptr<T> NewObjectCreatedOnTaskQueue() {
std::unique_ptr<T> obj; std::unique_ptr<T> obj;
TaskQueue queue("NewObjectCreatedOnTaskQueue"); webrtc::TaskQueueForTest queue("NewObjectCreatedOnTaskQueue");
Event event; queue.SendTask([&] { obj = absl::make_unique<T>(); });
queue.PostTask([&event, &obj] {
obj.reset(new T());
event.Set();
});
EXPECT_TRUE(event.Wait(1000));
return obj; return obj;
} }
@ -230,15 +225,12 @@ TEST(WeakPtrTest, WeakPtrInitiateAndUseOnDifferentThreads) {
auto target = absl::make_unique<TargetWithFactory>(); auto target = absl::make_unique<TargetWithFactory>();
// Create weak ptr on main thread // Create weak ptr on main thread
WeakPtr<Target> weak_ptr = target->factory.GetWeakPtr(); WeakPtr<Target> weak_ptr = target->factory.GetWeakPtr();
rtc::TaskQueue queue("queue"); webrtc::TaskQueueForTest queue("queue");
rtc::Event done; queue.SendTask([&] {
queue.PostTask([&] {
// Dereference and invalide weak_ptr on another thread. // Dereference and invalide weak_ptr on another thread.
EXPECT_EQ(weak_ptr.get(), target.get()); EXPECT_EQ(weak_ptr.get(), target.get());
target.reset(); target.reset();
done.Set();
}); });
EXPECT_TRUE(done.Wait(1000));
} }
} // namespace rtc } // namespace rtc

View File

@ -250,6 +250,7 @@ if (rtc_include_tests) {
"../../../rtc_base:rtc_base_approved", "../../../rtc_base:rtc_base_approved",
"../../../rtc_base:rtc_task_queue", "../../../rtc_base:rtc_task_queue",
"../../../rtc_base:safe_conversions", "../../../rtc_base:safe_conversions",
"../../../rtc_base:task_queue_for_test",
"../../../rtc_base/task_utils:repeating_task", "../../../rtc_base/task_utils:repeating_task",
"../../../system_wrappers", "../../../system_wrappers",
"../../../test:fileutils", "../../../test:fileutils",

View File

@ -301,7 +301,7 @@ void PeerConnectionE2EQualityTest::Run(
} }
// Create a |task_queue_|. // Create a |task_queue_|.
task_queue_ = absl::make_unique<rtc::TaskQueue>("pc_e2e_quality_test"); task_queue_ = absl::make_unique<TaskQueueForTest>("pc_e2e_quality_test");
// Setup call. // Setup call.
signaling_thread->Invoke<void>( signaling_thread->Invoke<void>(
RTC_FROM_HERE, RTC_FROM_HERE,

View File

@ -21,7 +21,7 @@
#include "api/units/time_delta.h" #include "api/units/time_delta.h"
#include "api/units/timestamp.h" #include "api/units/timestamp.h"
#include "pc/test/frame_generator_capturer_video_track_source.h" #include "pc/test/frame_generator_capturer_video_track_source.h"
#include "rtc_base/task_queue.h" #include "rtc_base/task_queue_for_test.h"
#include "rtc_base/task_utils/repeating_task.h" #include "rtc_base/task_utils/repeating_task.h"
#include "rtc_base/thread.h" #include "rtc_base/thread.h"
#include "rtc_base/thread_annotations.h" #include "rtc_base/thread_annotations.h"
@ -252,7 +252,7 @@ class PeerConnectionE2EQualityTest
// Task queue, that is used for running activities during test call. // Task queue, that is used for running activities during test call.
// This task queue will be created before call set up and will be destroyed // This task queue will be created before call set up and will be destroyed
// immediately before call tear down. // immediately before call tear down.
std::unique_ptr<rtc::TaskQueue> task_queue_; std::unique_ptr<TaskQueueForTest> task_queue_;
}; };
} // namespace webrtc_pc_e2e } // namespace webrtc_pc_e2e

View File

@ -17,6 +17,7 @@
#include "rtc_base/event.h" #include "rtc_base/event.h"
#include "rtc_base/fake_clock.h" #include "rtc_base/fake_clock.h"
#include "rtc_base/random.h" #include "rtc_base/random.h"
#include "rtc_base/task_queue_for_test.h"
#include "test/gmock.h" #include "test/gmock.h"
#include "test/gtest.h" #include "test/gtest.h"
#include "video/overuse_frame_detector.h" #include "video/overuse_frame_detector.h"
@ -425,15 +426,13 @@ TEST_F(OveruseFrameDetectorTest, UpdatesExistingSamples) {
} }
TEST_F(OveruseFrameDetectorTest, RunOnTqNormalUsage) { TEST_F(OveruseFrameDetectorTest, RunOnTqNormalUsage) {
rtc::TaskQueue queue("OveruseFrameDetectorTestQueue"); TaskQueueForTest queue("OveruseFrameDetectorTestQueue");
queue.SendTask([&] {
overuse_detector_->StartCheckForOveruse(&queue, options_, observer_);
});
rtc::Event event; rtc::Event event;
queue.PostTask([this, &event, &queue] {
overuse_detector_->StartCheckForOveruse(&queue, options_, observer_);
event.Set();
});
event.Wait(rtc::Event::kForever);
// Expect NormalUsage(). When called, stop the |overuse_detector_| and then // Expect NormalUsage(). When called, stop the |overuse_detector_| and then
// set |event| to end the test. // set |event| to end the test.
EXPECT_CALL(mock_observer_, AdaptUp(reason_)) EXPECT_CALL(mock_observer_, AdaptUp(reason_))
@ -905,15 +904,13 @@ TEST_F(OveruseFrameDetectorTest2, UpdatesExistingSamples) {
} }
TEST_F(OveruseFrameDetectorTest2, RunOnTqNormalUsage) { TEST_F(OveruseFrameDetectorTest2, RunOnTqNormalUsage) {
rtc::TaskQueue queue("OveruseFrameDetectorTestQueue"); TaskQueueForTest queue("OveruseFrameDetectorTestQueue");
queue.SendTask([&] {
overuse_detector_->StartCheckForOveruse(&queue, options_, observer_);
});
rtc::Event event; rtc::Event event;
queue.PostTask([this, &event, &queue] {
overuse_detector_->StartCheckForOveruse(&queue, options_, observer_);
event.Set();
});
event.Wait(rtc::Event::kForever);
// Expect NormalUsage(). When called, stop the |overuse_detector_| and then // Expect NormalUsage(). When called, stop the |overuse_detector_| and then
// set |event| to end the test. // set |event| to end the test.
EXPECT_CALL(mock_observer_, AdaptUp(reason_)) EXPECT_CALL(mock_observer_, AdaptUp(reason_))