| // Copyright 2020 The Fuchsia Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #include "src/developer/debug/debug_agent/mock_job_tree.h" | |
| #include "src/developer/debug/debug_agent/mock_job_handle.h" | |
| #include "src/developer/debug/debug_agent/mock_process_handle.h" | |
| #include "src/developer/debug/debug_agent/mock_thread_handle.h" | |
| namespace debug_agent { | |
| std::unique_ptr<MockJobHandle> GetMockJobTree() { | |
| // Job 121. | |
| MockProcessHandle job121_p1(19, "job121-p1"); | |
| job121_p1.set_threads({MockThreadHandle(20, "initial-thread")}); | |
| MockProcessHandle job121_p2(21, "job121-p2"); | |
| job121_p2.set_threads({MockThreadHandle(22, "initial-thread"), | |
| MockThreadHandle(23, "second-thread"), | |
| MockThreadHandle(24, "third-thread")}); | |
| MockJobHandle job121(18, "job121"); | |
| job121.set_child_processes({job121_p1, job121_p2}); | |
| // Job 12. | |
| MockJobHandle job12(17, "job12"); | |
| job12.set_child_jobs({job121}); | |
| // Job 11. | |
| MockProcessHandle job11_p1(14, "job11-p1"); | |
| job11_p1.set_threads( | |
| {MockThreadHandle(15, "initial-thread"), MockThreadHandle(16, "second-thread")}); | |
| MockJobHandle job11(13, "job11"); | |
| job11.set_child_processes({job11_p1}); | |
| // Job 1 | |
| MockProcessHandle job1_p1(9, "job1-p1"); | |
| job1_p1.set_threads({MockThreadHandle(10, "initial-thread")}); | |
| MockProcessHandle job1_p2(11, "job1-p2"); | |
| job1_p2.set_threads({MockThreadHandle(12, "initial-thread")}); | |
| MockJobHandle job1(8, "job1"); | |
| job1.set_child_processes({job1_p1, job1_p2}); | |
| job1.set_child_jobs({job11, job12}); | |
| // Root. | |
| MockProcessHandle root_p1(2, "root-p1"); | |
| root_p1.set_threads({MockThreadHandle(3, "initial-thread")}); | |
| MockProcessHandle root_p2(4, "root-p2"); | |
| root_p2.set_threads({MockThreadHandle(5, "initial-thread")}); | |
| MockProcessHandle root_p3(6, "root-p3"); | |
| root_p3.set_threads({MockThreadHandle(7, "initial-thread")}); | |
| auto root = std::make_unique<MockJobHandle>(1, "root"); | |
| root->set_child_processes({root_p1, root_p2, root_p3}); | |
| root->set_child_jobs({job1}); | |
| return root; | |
| } | |
| } // namespace debug_agent |