blob: 3c236e565cac5d26252e36e44503d8b3f00f1cb8 [file] [log] [blame]
// 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