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:

committed by
Commit Bot

parent
a533e00fa0
commit
07122bc87e
@ -46,6 +46,7 @@ if (rtc_include_tests) {
|
||||
":repeating_task",
|
||||
"..:rtc_base_approved",
|
||||
"..:rtc_task_queue",
|
||||
"..:task_queue_for_test",
|
||||
"../../test:test_support",
|
||||
"//third_party/abseil-cpp/absl/memory",
|
||||
]
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
#include "absl/memory/memory.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 "test/gmock.h"
|
||||
#include "test/gtest.h"
|
||||
@ -68,7 +68,7 @@ TEST(RepeatingTaskTest, TaskIsStoppedOnStop) {
|
||||
const int kShortIntervalCount = 4;
|
||||
const int kMargin = 1;
|
||||
|
||||
rtc::TaskQueue task_queue("TestQueue");
|
||||
TaskQueueForTest task_queue("TestQueue");
|
||||
std::atomic_int counter(0);
|
||||
auto handle = RepeatingTaskHandle::Start(task_queue.Get(), [&] {
|
||||
if (++counter >= kShortIntervalCount)
|
||||
@ -96,7 +96,7 @@ TEST(RepeatingTaskTest, CompensatesForLongRunTime) {
|
||||
const int kSleepAtCount = 3;
|
||||
|
||||
std::atomic_int counter(0);
|
||||
rtc::TaskQueue task_queue("TestQueue");
|
||||
TaskQueueForTest task_queue("TestQueue");
|
||||
RepeatingTaskHandle::Start(task_queue.Get(), [&] {
|
||||
if (++counter == kSleepAtCount)
|
||||
Sleep(kSleepDuration);
|
||||
@ -110,7 +110,7 @@ TEST(RepeatingTaskTest, CompensatesForLongRunTime) {
|
||||
|
||||
TEST(RepeatingTaskTest, CompensatesForShortRunTime) {
|
||||
std::atomic_int counter(0);
|
||||
rtc::TaskQueue task_queue("TestQueue");
|
||||
TaskQueueForTest task_queue("TestQueue");
|
||||
RepeatingTaskHandle::Start(task_queue.Get(), [&] {
|
||||
++counter;
|
||||
// Sleeping for the 10 ms should be compensated.
|
||||
@ -129,7 +129,7 @@ TEST(RepeatingTaskTest, CancelDelayedTaskBeforeItRuns) {
|
||||
MockClosure mock;
|
||||
EXPECT_CALL(mock, Call).Times(0);
|
||||
EXPECT_CALL(mock, Delete).WillOnce(Invoke([&done] { done.Set(); }));
|
||||
rtc::TaskQueue task_queue("queue");
|
||||
TaskQueueForTest task_queue("queue");
|
||||
auto handle = RepeatingTaskHandle::DelayedStart(
|
||||
task_queue.Get(), TimeDelta::ms(100), MoveOnlyClosure(&mock));
|
||||
handle.PostStop();
|
||||
@ -141,7 +141,7 @@ TEST(RepeatingTaskTest, CancelTaskAfterItRuns) {
|
||||
MockClosure mock;
|
||||
EXPECT_CALL(mock, Call).WillOnce(Return(TimeDelta::ms(100)));
|
||||
EXPECT_CALL(mock, Delete).WillOnce(Invoke([&done] { done.Set(); }));
|
||||
rtc::TaskQueue task_queue("queue");
|
||||
TaskQueueForTest task_queue("queue");
|
||||
auto handle =
|
||||
RepeatingTaskHandle::Start(task_queue.Get(), MoveOnlyClosure(&mock));
|
||||
handle.PostStop();
|
||||
@ -150,7 +150,7 @@ TEST(RepeatingTaskTest, CancelTaskAfterItRuns) {
|
||||
|
||||
TEST(RepeatingTaskTest, TaskCanStopItself) {
|
||||
std::atomic_int counter(0);
|
||||
rtc::TaskQueue task_queue("TestQueue");
|
||||
TaskQueueForTest task_queue("TestQueue");
|
||||
RepeatingTaskHandle handle;
|
||||
task_queue.PostTask([&] {
|
||||
handle = RepeatingTaskHandle::Start(task_queue.Get(), [&] {
|
||||
@ -172,7 +172,7 @@ TEST(RepeatingTaskTest, ZeroReturnValueRepostsTheTask) {
|
||||
done.Set();
|
||||
return kTimeout;
|
||||
}));
|
||||
rtc::TaskQueue task_queue("queue");
|
||||
TaskQueueForTest task_queue("queue");
|
||||
RepeatingTaskHandle::Start(task_queue.Get(), MoveOnlyClosure(&closure));
|
||||
EXPECT_TRUE(done.Wait(kTimeout.ms()));
|
||||
}
|
||||
@ -187,7 +187,7 @@ TEST(RepeatingTaskTest, StartPeriodicTask) {
|
||||
done.Set();
|
||||
return kTimeout;
|
||||
}));
|
||||
rtc::TaskQueue task_queue("queue");
|
||||
TaskQueueForTest task_queue("queue");
|
||||
RepeatingTaskHandle::Start(task_queue.Get(), closure.AsStdFunction());
|
||||
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>();
|
||||
// Create and start the periodic task.
|
||||
RepeatingTaskHandle handle;
|
||||
|
Reference in New Issue
Block a user