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}
diff --git a/rtc_base/task_utils/BUILD.gn b/rtc_base/task_utils/BUILD.gn
index 16204d1..e562779 100644
--- a/rtc_base/task_utils/BUILD.gn
+++ b/rtc_base/task_utils/BUILD.gn
@@ -46,6 +46,7 @@
":repeating_task",
"..:rtc_base_approved",
"..:rtc_task_queue",
+ "..:task_queue_for_test",
"../../test:test_support",
"//third_party/abseil-cpp/absl/memory",
]
diff --git a/rtc_base/task_utils/repeating_task_unittest.cc b/rtc_base/task_utils/repeating_task_unittest.cc
index 244bb8e..6f8e7fa 100644
--- a/rtc_base/task_utils/repeating_task_unittest.cc
+++ b/rtc_base/task_utils/repeating_task_unittest.cc
@@ -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 @@
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 @@
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, 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 @@
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 @@
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, 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 @@
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 @@
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 @@
});
}
};
- rtc::TaskQueue task_queue("queue");
+ TaskQueueForTest task_queue("queue");
auto object = absl::make_unique<ObjectOnTaskQueue>();
// Create and start the periodic task.
RepeatingTaskHandle handle;