Remove usage of rtc::TaskQueue in TimeController unittests
Bug: webrtc:14169 Change-Id: Ib3769bffe4642d9466c65dee3d46d81049642f40 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/333803 Auto-Submit: Danil Chapovalov <danilchap@webrtc.org> Reviewed-by: Artem Titov <titovartem@webrtc.org> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/main@{#41486}
This commit is contained in:
parent
b9405c4748
commit
956879d86f
@ -58,10 +58,10 @@ if (rtc_include_tests) {
|
|||||||
":time_controller",
|
":time_controller",
|
||||||
"../:test_support",
|
"../:test_support",
|
||||||
"../../api:time_controller",
|
"../../api:time_controller",
|
||||||
|
"../../api/task_queue",
|
||||||
"../../api/units:time_delta",
|
"../../api/units:time_delta",
|
||||||
"../../rtc_base:macromagic",
|
"../../rtc_base:macromagic",
|
||||||
"../../rtc_base:rtc_event",
|
"../../rtc_base:rtc_event",
|
||||||
"../../rtc_base:rtc_task_queue",
|
|
||||||
"../../rtc_base:task_queue_for_test",
|
"../../rtc_base:task_queue_for_test",
|
||||||
"../../rtc_base:threading",
|
"../../rtc_base:threading",
|
||||||
"../../rtc_base/synchronization:mutex",
|
"../../rtc_base/synchronization:mutex",
|
||||||
|
|||||||
@ -14,8 +14,8 @@
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
|
#include "api/task_queue/task_queue_base.h"
|
||||||
#include "rtc_base/event.h"
|
#include "rtc_base/event.h"
|
||||||
#include "rtc_base/task_queue.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"
|
||||||
@ -88,11 +88,11 @@ TEST(ExternalTimeControllerTest, TaskIsStoppedOnStop) {
|
|||||||
const int kMargin = 1;
|
const int kMargin = 1;
|
||||||
FakeAlarm alarm(kStartTime);
|
FakeAlarm alarm(kStartTime);
|
||||||
ExternalTimeController time_simulation(&alarm);
|
ExternalTimeController time_simulation(&alarm);
|
||||||
rtc::TaskQueue task_queue(
|
std::unique_ptr<TaskQueueBase, TaskQueueDeleter> task_queue =
|
||||||
time_simulation.GetTaskQueueFactory()->CreateTaskQueue(
|
time_simulation.GetTaskQueueFactory()->CreateTaskQueue(
|
||||||
"TestQueue", TaskQueueFactory::Priority::NORMAL));
|
"TestQueue", TaskQueueFactory::Priority::NORMAL);
|
||||||
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)
|
||||||
return kLongInterval;
|
return kLongInterval;
|
||||||
return kShortInterval;
|
return kShortInterval;
|
||||||
@ -101,7 +101,7 @@ TEST(ExternalTimeControllerTest, TaskIsStoppedOnStop) {
|
|||||||
time_simulation.AdvanceTime(kShortInterval * (kShortIntervalCount + kMargin));
|
time_simulation.AdvanceTime(kShortInterval * (kShortIntervalCount + kMargin));
|
||||||
EXPECT_EQ(counter.load(), kShortIntervalCount);
|
EXPECT_EQ(counter.load(), kShortIntervalCount);
|
||||||
|
|
||||||
task_queue.PostTask(
|
task_queue->PostTask(
|
||||||
[handle = std::move(handle)]() mutable { handle.Stop(); });
|
[handle = std::move(handle)]() mutable { handle.Stop(); });
|
||||||
|
|
||||||
// Sleep long enough that the task would run at least once more if not
|
// Sleep long enough that the task would run at least once more if not
|
||||||
@ -114,13 +114,13 @@ TEST(ExternalTimeControllerTest, TaskCanStopItself) {
|
|||||||
std::atomic_int counter(0);
|
std::atomic_int counter(0);
|
||||||
FakeAlarm alarm(kStartTime);
|
FakeAlarm alarm(kStartTime);
|
||||||
ExternalTimeController time_simulation(&alarm);
|
ExternalTimeController time_simulation(&alarm);
|
||||||
rtc::TaskQueue task_queue(
|
std::unique_ptr<TaskQueueBase, TaskQueueDeleter> task_queue =
|
||||||
time_simulation.GetTaskQueueFactory()->CreateTaskQueue(
|
time_simulation.GetTaskQueueFactory()->CreateTaskQueue(
|
||||||
"TestQueue", TaskQueueFactory::Priority::NORMAL));
|
"TestQueue", TaskQueueFactory::Priority::NORMAL);
|
||||||
|
|
||||||
RepeatingTaskHandle handle;
|
RepeatingTaskHandle handle;
|
||||||
task_queue.PostTask([&] {
|
task_queue->PostTask([&] {
|
||||||
handle = RepeatingTaskHandle::Start(task_queue.Get(), [&] {
|
handle = RepeatingTaskHandle::Start(task_queue.get(), [&] {
|
||||||
++counter;
|
++counter;
|
||||||
handle.Stop();
|
handle.Stop();
|
||||||
return TimeDelta::Millis(2);
|
return TimeDelta::Millis(2);
|
||||||
@ -134,12 +134,12 @@ TEST(ExternalTimeControllerTest, YieldForTask) {
|
|||||||
FakeAlarm alarm(kStartTime);
|
FakeAlarm alarm(kStartTime);
|
||||||
ExternalTimeController time_simulation(&alarm);
|
ExternalTimeController time_simulation(&alarm);
|
||||||
|
|
||||||
rtc::TaskQueue task_queue(
|
std::unique_ptr<TaskQueueBase, TaskQueueDeleter> task_queue =
|
||||||
time_simulation.GetTaskQueueFactory()->CreateTaskQueue(
|
time_simulation.GetTaskQueueFactory()->CreateTaskQueue(
|
||||||
"TestQueue", TaskQueueFactory::Priority::NORMAL));
|
"TestQueue", TaskQueueFactory::Priority::NORMAL);
|
||||||
|
|
||||||
rtc::Event event;
|
rtc::Event event;
|
||||||
task_queue.PostTask([&] { event.Set(); });
|
task_queue->PostTask([&] { event.Set(); });
|
||||||
EXPECT_TRUE(event.Wait(TimeDelta::Millis(200)));
|
EXPECT_TRUE(event.Wait(TimeDelta::Millis(200)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -147,16 +147,16 @@ TEST(ExternalTimeControllerTest, TasksYieldToEachOther) {
|
|||||||
FakeAlarm alarm(kStartTime);
|
FakeAlarm alarm(kStartTime);
|
||||||
ExternalTimeController time_simulation(&alarm);
|
ExternalTimeController time_simulation(&alarm);
|
||||||
|
|
||||||
rtc::TaskQueue task_queue(
|
std::unique_ptr<TaskQueueBase, TaskQueueDeleter> task_queue =
|
||||||
time_simulation.GetTaskQueueFactory()->CreateTaskQueue(
|
time_simulation.GetTaskQueueFactory()->CreateTaskQueue(
|
||||||
"TestQueue", TaskQueueFactory::Priority::NORMAL));
|
"TestQueue", TaskQueueFactory::Priority::NORMAL);
|
||||||
rtc::TaskQueue other_queue(
|
std::unique_ptr<TaskQueueBase, TaskQueueDeleter> other_queue =
|
||||||
time_simulation.GetTaskQueueFactory()->CreateTaskQueue(
|
time_simulation.GetTaskQueueFactory()->CreateTaskQueue(
|
||||||
"OtherQueue", TaskQueueFactory::Priority::NORMAL));
|
"OtherQueue", TaskQueueFactory::Priority::NORMAL);
|
||||||
|
|
||||||
task_queue.PostTask([&] {
|
task_queue->PostTask([&] {
|
||||||
rtc::Event event;
|
rtc::Event event;
|
||||||
other_queue.PostTask([&] { event.Set(); });
|
other_queue->PostTask([&] { event.Set(); });
|
||||||
EXPECT_TRUE(event.Wait(TimeDelta::Millis(200)));
|
EXPECT_TRUE(event.Wait(TimeDelta::Millis(200)));
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -167,11 +167,11 @@ TEST(ExternalTimeControllerTest, CurrentTaskQueue) {
|
|||||||
FakeAlarm alarm(kStartTime);
|
FakeAlarm alarm(kStartTime);
|
||||||
ExternalTimeController time_simulation(&alarm);
|
ExternalTimeController time_simulation(&alarm);
|
||||||
|
|
||||||
rtc::TaskQueue task_queue(
|
std::unique_ptr<TaskQueueBase, TaskQueueDeleter> task_queue =
|
||||||
time_simulation.GetTaskQueueFactory()->CreateTaskQueue(
|
time_simulation.GetTaskQueueFactory()->CreateTaskQueue(
|
||||||
"TestQueue", TaskQueueFactory::Priority::NORMAL));
|
"TestQueue", TaskQueueFactory::Priority::NORMAL);
|
||||||
|
|
||||||
task_queue.PostTask([&] { EXPECT_TRUE(task_queue.IsCurrent()); });
|
task_queue->PostTask([&] { EXPECT_TRUE(task_queue->IsCurrent()); });
|
||||||
|
|
||||||
time_simulation.AdvanceTime(TimeDelta::Millis(10));
|
time_simulation.AdvanceTime(TimeDelta::Millis(10));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,9 +13,9 @@
|
|||||||
#include <atomic>
|
#include <atomic>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
|
#include "api/task_queue/task_queue_base.h"
|
||||||
#include "api/units/time_delta.h"
|
#include "api/units/time_delta.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_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"
|
||||||
@ -39,11 +39,11 @@ TEST(SimulatedTimeControllerTest, TaskIsStoppedOnStop) {
|
|||||||
const int kShortIntervalCount = 4;
|
const int kShortIntervalCount = 4;
|
||||||
const int kMargin = 1;
|
const int kMargin = 1;
|
||||||
GlobalSimulatedTimeController time_simulation(kStartTime);
|
GlobalSimulatedTimeController time_simulation(kStartTime);
|
||||||
rtc::TaskQueue task_queue(
|
std::unique_ptr<TaskQueueBase, TaskQueueDeleter> task_queue =
|
||||||
time_simulation.GetTaskQueueFactory()->CreateTaskQueue(
|
time_simulation.GetTaskQueueFactory()->CreateTaskQueue(
|
||||||
"TestQueue", TaskQueueFactory::Priority::NORMAL));
|
"TestQueue", TaskQueueFactory::Priority::NORMAL);
|
||||||
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)
|
||||||
return kLongInterval;
|
return kLongInterval;
|
||||||
return kShortInterval;
|
return kShortInterval;
|
||||||
@ -52,7 +52,7 @@ TEST(SimulatedTimeControllerTest, TaskIsStoppedOnStop) {
|
|||||||
time_simulation.AdvanceTime(kShortInterval * (kShortIntervalCount + kMargin));
|
time_simulation.AdvanceTime(kShortInterval * (kShortIntervalCount + kMargin));
|
||||||
EXPECT_EQ(counter.load(), kShortIntervalCount);
|
EXPECT_EQ(counter.load(), kShortIntervalCount);
|
||||||
|
|
||||||
task_queue.PostTask(
|
task_queue->PostTask(
|
||||||
[handle = std::move(handle)]() mutable { handle.Stop(); });
|
[handle = std::move(handle)]() mutable { handle.Stop(); });
|
||||||
|
|
||||||
// Sleep long enough that the task would run at least once more if not
|
// Sleep long enough that the task would run at least once more if not
|
||||||
@ -64,13 +64,13 @@ TEST(SimulatedTimeControllerTest, TaskIsStoppedOnStop) {
|
|||||||
TEST(SimulatedTimeControllerTest, TaskCanStopItself) {
|
TEST(SimulatedTimeControllerTest, TaskCanStopItself) {
|
||||||
std::atomic_int counter(0);
|
std::atomic_int counter(0);
|
||||||
GlobalSimulatedTimeController time_simulation(kStartTime);
|
GlobalSimulatedTimeController time_simulation(kStartTime);
|
||||||
rtc::TaskQueue task_queue(
|
std::unique_ptr<TaskQueueBase, TaskQueueDeleter> task_queue =
|
||||||
time_simulation.GetTaskQueueFactory()->CreateTaskQueue(
|
time_simulation.GetTaskQueueFactory()->CreateTaskQueue(
|
||||||
"TestQueue", TaskQueueFactory::Priority::NORMAL));
|
"TestQueue", TaskQueueFactory::Priority::NORMAL);
|
||||||
|
|
||||||
RepeatingTaskHandle handle;
|
RepeatingTaskHandle handle;
|
||||||
task_queue.PostTask([&] {
|
task_queue->PostTask([&] {
|
||||||
handle = RepeatingTaskHandle::Start(task_queue.Get(), [&] {
|
handle = RepeatingTaskHandle::Start(task_queue.get(), [&] {
|
||||||
++counter;
|
++counter;
|
||||||
handle.Stop();
|
handle.Stop();
|
||||||
return TimeDelta::Millis(2);
|
return TimeDelta::Millis(2);
|
||||||
@ -86,29 +86,29 @@ TEST(SimulatedTimeControllerTest, Example) {
|
|||||||
void DoPeriodicTask() {}
|
void DoPeriodicTask() {}
|
||||||
TimeDelta TimeUntilNextRun() { return TimeDelta::Millis(100); }
|
TimeDelta TimeUntilNextRun() { return TimeDelta::Millis(100); }
|
||||||
void StartPeriodicTask(RepeatingTaskHandle* handle,
|
void StartPeriodicTask(RepeatingTaskHandle* handle,
|
||||||
rtc::TaskQueue* task_queue) {
|
TaskQueueBase* task_queue) {
|
||||||
*handle = RepeatingTaskHandle::Start(task_queue->Get(), [this] {
|
*handle = RepeatingTaskHandle::Start(task_queue, [this] {
|
||||||
DoPeriodicTask();
|
DoPeriodicTask();
|
||||||
return TimeUntilNextRun();
|
return TimeUntilNextRun();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
GlobalSimulatedTimeController time_simulation(kStartTime);
|
GlobalSimulatedTimeController time_simulation(kStartTime);
|
||||||
rtc::TaskQueue task_queue(
|
std::unique_ptr<TaskQueueBase, TaskQueueDeleter> task_queue =
|
||||||
time_simulation.GetTaskQueueFactory()->CreateTaskQueue(
|
time_simulation.GetTaskQueueFactory()->CreateTaskQueue(
|
||||||
"TestQueue", TaskQueueFactory::Priority::NORMAL));
|
"TestQueue", TaskQueueFactory::Priority::NORMAL);
|
||||||
auto object = std::make_unique<ObjectOnTaskQueue>();
|
auto object = std::make_unique<ObjectOnTaskQueue>();
|
||||||
// Create and start the periodic task.
|
// Create and start the periodic task.
|
||||||
RepeatingTaskHandle handle;
|
RepeatingTaskHandle handle;
|
||||||
object->StartPeriodicTask(&handle, &task_queue);
|
object->StartPeriodicTask(&handle, task_queue.get());
|
||||||
// Restart the task
|
// Restart the task
|
||||||
task_queue.PostTask(
|
task_queue->PostTask(
|
||||||
[handle = std::move(handle)]() mutable { handle.Stop(); });
|
[handle = std::move(handle)]() mutable { handle.Stop(); });
|
||||||
object->StartPeriodicTask(&handle, &task_queue);
|
object->StartPeriodicTask(&handle, task_queue.get());
|
||||||
task_queue.PostTask(
|
task_queue->PostTask(
|
||||||
[handle = std::move(handle)]() mutable { handle.Stop(); });
|
[handle = std::move(handle)]() mutable { handle.Stop(); });
|
||||||
|
|
||||||
task_queue.PostTask([object = std::move(object)] {});
|
task_queue->PostTask([object = std::move(object)] {});
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(SimulatedTimeControllerTest, DelayTaskRunOnTime) {
|
TEST(SimulatedTimeControllerTest, DelayTaskRunOnTime) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user