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

@ -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",
]

View File

@ -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;