0

Make TaskQueueManagerImpl tests use TestMockTimeTaskRunner.

Got rid of cc::OrderedSimpleTaskRunner dependency and slightly
cleaned TaskQueueManagerImpl unittests while adjusting the code.

Bug: 783309
Change-Id: Ibc31281b1dcdf6750b2fcc9e07bc7d7dfe1e85af
Reviewed-on: https://chromium-review.googlesource.com/1037144
Commit-Queue: Greg Kraynov <kraynov@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557230}
This commit is contained in:
Greg Kraynov
2018-05-09 17:30:18 +00:00
committed by Commit Bot
parent bea7337b80
commit b94880fa4f
6 changed files with 339 additions and 320 deletions

@ -196,6 +196,10 @@ void TestMockTimeTaskRunner::FastForwardBy(TimeDelta delta) {
ForwardClocksUntilTickTime(original_now_ticks + delta);
}
void TestMockTimeTaskRunner::AdvanceMockTickClock(TimeDelta delta) {
ForwardClocksUntilTickTime(NowTicks() + delta);
}
void TestMockTimeTaskRunner::RunUntilIdle() {
DCHECK(thread_checker_.CalledOnValidThread());
ProcessAllTasksNoLaterThan(TimeDelta());

@ -140,6 +140,9 @@ class TestMockTimeTaskRunner : public SingleThreadTaskRunner,
// non-negative.
void FastForwardBy(TimeDelta delta);
// Fast-forwards virtual time by |delta| but not causing any task execution.
void AdvanceMockTickClock(TimeDelta delta);
// Fast-forwards virtual time just until all tasks are executed.
void FastForwardUntilNoTasksRemain();

@ -247,4 +247,16 @@ TEST(TestMockTimeTaskRunnerTest, NoFastForwardToCancelledTask) {
EXPECT_EQ(start_time, task_runner->NowTicks());
}
TEST(TestMockTimeTaskRunnerTest, AdvanceMockTickClockDoesNotRunTasks) {
auto task_runner = MakeRefCounted<TestMockTimeTaskRunner>();
TimeTicks start_time = task_runner->NowTicks();
task_runner->PostTask(FROM_HERE, BindOnce([]() { ADD_FAILURE(); }));
task_runner->PostDelayedTask(FROM_HERE, BindOnce([]() { ADD_FAILURE(); }),
TimeDelta::FromSeconds(1));
task_runner->AdvanceMockTickClock(TimeDelta::FromSeconds(3));
EXPECT_EQ(start_time + TimeDelta::FromSeconds(3), task_runner->NowTicks());
EXPECT_EQ(2u, task_runner->GetPendingTaskCount());
}
} // namespace base

@ -1,5 +0,0 @@
specific_include_rules = {
".*test\.cc": [
"+components/viz/test",
],
}

@ -8,7 +8,6 @@
#include "base/macros.h"
#include "base/memory/ptr_util.h"
#include "base/test/simple_test_tick_clock.h"
#include "components/viz/test/ordered_simple_task_runner.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "third_party/blink/renderer/platform/scheduler/base/task_queue_impl.h"
#include "third_party/blink/renderer/platform/scheduler/base/task_queue_manager.h"