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:
base/test
third_party/blink/renderer/platform/scheduler/base
@ -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",
|
||||
],
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -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"
|
||||
|
Reference in New Issue
Block a user