xref: /aosp_15_r20/external/cronet/base/task/sequence_manager/test/fake_task.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 // Copyright 2018 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "base/task/sequence_manager/test/fake_task.h"
6 
7 namespace base {
8 namespace sequence_manager {
9 
FakeTask()10 FakeTask::FakeTask() : FakeTask(0 /* task_type */) {}
11 
FakeTask(TaskType task_type)12 FakeTask::FakeTask(TaskType task_type)
13     : Task(internal::PostedTask(nullptr,
14                                 OnceClosure(),
15                                 FROM_HERE,
16                                 base::TimeDelta(),
17                                 Nestable::kNestable,
18                                 task_type),
19            EnqueueOrder(),
20            EnqueueOrder(),
21            TimeTicks(),
22            WakeUpResolution::kLow) {}
23 
FakeTaskTiming()24 FakeTaskTiming::FakeTaskTiming()
25     : TaskTiming(false /* has_wall_time */, false /* has_thread_time */) {}
26 
FakeTaskTiming(TimeTicks start,TimeTicks end)27 FakeTaskTiming::FakeTaskTiming(TimeTicks start, TimeTicks end)
28     : FakeTaskTiming() {
29   has_wall_time_ = true;
30   start_time_ = start;
31   end_time_ = end;
32   state_ = State::Finished;
33 }
34 
FakeTaskTiming(TimeTicks start,TimeTicks end,ThreadTicks thread_start,ThreadTicks thread_end)35 FakeTaskTiming::FakeTaskTiming(TimeTicks start,
36                                TimeTicks end,
37                                ThreadTicks thread_start,
38                                ThreadTicks thread_end)
39     : FakeTaskTiming(start, end) {
40   has_thread_time_ = true;
41   start_thread_time_ = thread_start;
42   end_thread_time_ = thread_end;
43   state_ = State::Finished;
44 }
45 
46 }  // namespace sequence_manager
47 }  // namespace base
48